请问如何批量点击微博某话题中的每条微博的唯一链接? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
copriwolf
V2EX    程序员

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

  •  
  •   copriwolf 2015-02-15 20:25:40 +08:00 4201 次点击
    这是一个创建于 3958 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    第 1 条附言    2015-02-16 00:25:47 +08:00
    发起这个主题是因为今天联通发信息过来说可以用红包抽流量,
    ![联通一起沃 免费流量红包领取](http://or2.in/2015/02/15/17Wo-FlowRedPacket/)
    经过探究发现联通似乎并没有做限制,所以想探究机械化可不可行。

    经过@aaaa007cn @lk09364 的分享,发现可以这么做:
    [].forEach.call(document.querySelectorAll('a[href^="http://t.cn/"]'), function(v){
    console.log(v)
    })
    17 条回复    2015-02-16 09:24:01 +08:00
    arachide
        1
    arachide  
       2015-02-15 20:53:48 +08:00
    这需要解析html
    NeoAtlantis
        2
    NeoAtlantis  
       2015-02-15 20:59:12 +08:00
    jquery试试?
    copriwolf
        3
    copriwolf  
    OP
       2015-02-15 21:11:50 +08:00
    @arachide 能详细的解释一下吗?
    copriwolf
        4
    copriwolf  
    OP
       2015-02-15 21:12:27 +08:00
    @NeoAtlantis 没有用过,请问能详细讲解一下吗
    arachide
        5
    arachide  
       2015-02-15 21:36:01 +08:00   1
    @copriwolf 晕这是技术问题了

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

    [].forEach.call(document.querySelectorAll('a[href^="http://t.cn/"]'), a => 点击(a))
    copriwolf
        7
    copriwolf  
    OP
       2015-02-15 22:01:01 +08:00
    @aaaa007cn 本人知识浅薄,看完了里面的api页面,请问这个是怎么使用呢,他这是放在页面中吗?可是在微博中页面无法修改,难道使用审查元素?
    aaaa007cn
        8
    aaaa007cn  
       2015-02-15 22:32:28 +08:00
    你没说是在什么环境下,要如何操作
    所以我假定你是要在浏览器中执行
    要在浏览器中执行自己的 Javascript 脚本
    无非通过自制浏览器扩展、用户脚本、代理注入
    如果偶尔要用
    那么直接使用开发者工具(就是审查元素会打开的那个)中的控制台也行
    上面只是演示了如何通过 css selector 选取元素并遍历
    具体怎么点击还要看你想怎么做
    比如 http://wiki.greasespot.net/GM_openInTab
    irgil
        9
    irgil  
       2015-02-15 22:44:57 +08:00   1
    用正则提取出来,去重,再用curl访问
    copriwolf
        10
    copriwolf  
    OP
       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
        11
    lk09364  
       2015-02-15 23:13:57 +08:00   1
    @copriwolf 油猴api 不能在console 里用吧…,另外#6 给出的代码是伪代码。实际使用时:
    [].forEach.call(document.querySelectorAll('a[href^="http://t.cn/"]'), function(v){
    console.log(v)
    })
    copriwolf
        12
    copriwolf  
    OP
       2015-02-16 00:12:33 +08:00
    @lk09364 非常感谢!!
    oott123
        13
    oott123  
       2015-02-16 00:14:54 +08:00
    抢红包?
    DearTanker
        14
    DearTanker  
       2015-02-16 00:17:21 +08:00
    @oott123 哈哈。希望作者做出来可以分享一下。。。
    copriwolf
        15
    copriwolf  
    OP
       2015-02-16 00:18:30 +08:00
    @oott123 哈哈是的,只是探究发现他们似乎并没有做限制,所以想探究机械化可不可行
    typcn
        16
    typcn  
       2015-02-16 07:41:20 +08:00   1
    用 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
        17
    pljhonglu  
       2015-02-16 09:24:01 +08:00
    抢红包专用~哈哈
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3025 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 13:30 PVG 21:30 LAX 05:30 JFK 08:30
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86