请问如何批量点击微博某话题中的每条微博的唯一链接?

2015-02-15 20:25:40 +08:00
 copriwolf

RT,
比如在微博中搜索"话题A",里面每条微博都是这个样式

#话题A,这是链接http://t.cn/link

那么请问如何做到可以在这个话题的搜索页里,一次点击完成本所有页内的所有微博的链接点击?

或者,也可以换个思路,如何做到在本页中一次点击所有 t.cn 为域名的链接?

3742 次点击
所在节点    程序员
17 条回复
arachide
2015-02-15 20:53:48 +08:00
这需要解析html
NeoAtlantis
2015-02-15 20:59:12 +08:00
jquery试试?
copriwolf
2015-02-15 21:11:50 +08:00
@arachide 能详细的解释一下吗?
copriwolf
2015-02-15 21:12:27 +08:00
@NeoAtlantis 没有用过,请问能详细讲解一下吗
arachide
2015-02-15 21:36:01 +08:00
@copriwolf 晕这是技术问题了

有用regex正则的
有自己写解析引擎的
aaaa007cn
2015-02-15 21:51:54 +08:00
https://developer.mozilla.org/docs/Web/API/Document.querySelectorAll

[].forEach.call(document.querySelectorAll('a[href^="http://t.cn/"]'), a => 点击(a))
copriwolf
2015-02-15 22:01:01 +08:00
@aaaa007cn 本人知识浅薄,看完了里面的api页面,请问这个是怎么使用呢,他这是放在页面中吗?可是在微博中页面无法修改,难道使用审查元素?
aaaa007cn
2015-02-15 22:32:28 +08:00
你没说是在什么环境下,要如何操作
所以我假定你是要在浏览器中执行
要在浏览器中执行自己的 javascript 脚本
无非通过自制浏览器扩展、用户脚本、代理注入
如果偶尔要用
那么直接使用开发者工具(就是审查元素会打开的那个)中的控制台也行
上面只是演示了如何通过 css selector 选取元素并遍历
具体怎么点击还要看你想怎么做
比如 http://wiki.greasespot.net/GM_openInTab
irgil
2015-02-15 22:44:57 +08:00
用正则提取出来,去重,再用curl访问
copriwolf
2015-02-15 22:51:39 +08:00
@aaaa007cn 我是rmbp os x yosemite,chrome。我是想直接在浏览器中执行javascript,一执行,则自动在新标签页打开本页中所有包含t.cn域名的网址。 http://wiki.greasespot.net/GM_openInTab,这个油猴的脚本功能是打开新标签页并切换过去吧?
请问你刚刚演示的程序是如何在console中执行,我执行后无效。
lk09364
2015-02-15 23:13:57 +08:00
@copriwolf 油猴api 不能在console 里用吧…,另外#6 给出的代码是伪代码。实际使用时:
[].forEach.call(document.querySelectorAll('a[href^="http://t.cn/"]'), function(v){
console.log(v)
})
copriwolf
2015-02-16 00:12:33 +08:00
@lk09364 非常感谢!!
oott123
2015-02-16 00:14:54 +08:00
抢红包?
DearTanker
2015-02-16 00:17:21 +08:00
@oott123 哈哈。希望作者做出来可以分享一下。。。
copriwolf
2015-02-16 00:18:30 +08:00
@oott123 哈哈是的,只是探究发现他们似乎并没有做限制,所以想探究机械化可不可行
typcn
2015-02-16 07:41:20 +08:00
用 pyspider 写了个自动的

def on_start(self):
self.crawl('http://www.weibo.com/p/1008081c4e75201132722bf842ceec29e11549/home', headers ={'User-Agent': 'TYPCNSpider'} , callback=self.index_page)

def index_page(self, response):
for each in response.doc('a[title^="http://t.17wo.cn"]').items():
self.crawl(each.attr.title, headers = {'User-Agent': '你的UA '}, cookies = {你的COOKIE})
pljhonglu
2015-02-16 09:24:01 +08:00
抢红包专用~哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/171205

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX