求助一个特弱智的问题,爬微博热搜要闻榜怎样可以不需要 cookie 信息? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
neearai
V2EX    Python

求助一个特弱智的问题,爬微博热搜要闻榜怎样可以不需要 cookie 信息?

  •  
  •   neearai 2022-04-14 17:07:24 +08:00 4478 次点击
    这是一个创建于 1327 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,

    https://s.weibo.com/top/summary/summary?cate=socialevent 这个地址爬取的话,

    headers 里面必须带 cookie 信息才能获取到热搜内容,

    否则只能获取到一段 js 代码,问题是我想天级常态化地运行这个例行任务,而拿到的 cookie 一两天就过期了。

    有没有更简单的方法或者接口,能不需要 cookie ,直接爬取这个 要闻榜?

    18 条回复    2023-02-14 10:01:41 +08:00
    westoy
        1
    westoy  
       2022-04-14 17:09:48 +08:00   2
    有没有一种可能, 它要 cookie 就是为了反爬的?

    它这个又不要登录, 最简单的直接上个无头浏览器啊
    AoEiuV020CN
        2
    AoEiuV020CN  
       2022-04-14 17:17:00 +08:00   1
    无头浏览器+1
    看了眼这个登录流程好复杂,接连跳转 10 次,感觉模拟会很困难,
    musi
        3
    musi  
       2022-04-14 17:19:54 +08:00   1
    AoEiuV020CN
        5
    AoEiuV020CN  
       2022-04-14 17:20:38 +08:00   1
    还真有, 看了下一个站友爬的微博热搜榜,用的是这个地址,
    https://m.weibo.cn/api/container/getIndex?cOntainerid=106003type%3D25%26t%3D3%26disable_hot%3D1%26filter_type%3Drealtimehot
    nba2k9
        6
    nba2k9  
       2022-04-14 17:21:25 +08:00   1
    m.weibo.cn
    我用这个地址刷微博
    BaseException
        7
    BaseException  
       2022-04-14 17:32:40 +08:00   1
    我写过这个 https://github.com/hellodk34/weibo_hot_search

    微博热搜实时推送的 tg 频道,欢迎关注 https://t.me/weibo_hot_search (借贵楼打个广告了属于是)

    我项目里用的 APIURL: https://m.weibo.cn/api/container/getIndex?cOntainerid=106003type%3D25%26t%3D3%26disable_hot%3D1%26filter_type%3Drealtimehot

    事实上我抓包拿到过南京的同城热搜 url 是 https://m.weibo.cn/api/container/getIndex?gsid=_2A25MfHFWDeRxGeRI4lEW8SfIzjyIHXVtKIOerDV6PUJbgdCOLVHakWpNUs6fGkBZimYWa_d-o_oczkp5q06cv6K1&wm=3333_2001&launchid=10000365 (后面还有一大堆 太长了,感兴趣的可以去源码 MainService.java 里看一下

    其他城市的当然也可以通过抓包获取,这样就可以做同城热搜数据抓取了(我现在做了南京同城热搜推送 一天三次 只推到了个人的一个 tg bot ,微博公开热搜是推送到上面那个推送频道)
    neearai
        8
    neearai  
    OP
       2022-04-14 17:32:43 +08:00
    @westoy @AoEiuV020CN 我是线上的 k8s 运行环境,还没学过无头浏览器呢~ 研究研究
    @musi @AoEiuV020CN 谢谢,你们给的接口挺好的

    @nba2k9 这个地址好像只有热搜,我要的是要闻榜这个子标签呢~
    neearai
        9
    neearai  
    OP
       2022-04-14 17:33:46 +08:00
    @BaseException 哈哈哈我在你的另外一个频道里,但是微博热搜这个没加,因为频率太高了。感谢你提供地 url
    BaseException
        10
    BaseException  
       2022-04-14 17:36:14 +08:00
    @neearai #9 感谢关注。

    确实是推送频率过高,之后考虑改变一下。我想着应该就是因为推送频率过高现在订阅的人一直没上百 ( 90+徘徊好久了,哈哈)
    neearai
        11
    neearai  
    OP
       2022-04-14 17:44:07 +08:00
    @BaseException 哈哈,瞎给建议的话,是不是可以进行一些降噪?全部内容的每天只推一次,然后每个小时推送一下,相比上小时的飙升榜,新进榜内容就可以了?
    BaseException
        12
    BaseException  
       2022-04-14 17:54:25 +08:00 via iPhone
    @neearai 感谢建议,有些启发的,每小时只推新的热搜也是一种思路。之前想过定制推送间隔,但不实际。
    sunmker
        13
    sunmker  
       2022-04-15 08:51:25 +08:00
    我昨天忘了一个脚本帮女友微博超话签到,我发现都不需要登录状态就可以签到 只需要一串相关的 get 请求的 url 就可以了
    ch2
        14
    ch2  
       2022-04-15 09:24:49 +08:00 via iPhone
    用 Chrome 浏览器挂机,然后用 js 插件定时把每天的 cookie 刷新并上传到你的数据库里,这样你随时都能用到最新的 cookie ,适用于大部分需要登录但是可以保持登录态的网站
        15
    uianz  
       2022-04-15 11:57:14 +08:00
    微博有个单点登录接口可以刷新 cookie ,我用了半年了很稳定
    neearai
        16
    neearai  
    OP
       2022-04-18 17:51:02 +08:00
    @uianz 你好,可以请你分享一下这个接口嘛?谢谢
    @sunmker 啊?那怎么识别身份信息呢。。。
    @ch2 js 不太会= =,不过这种动态配置的思路倒是挺好的,谢谢
    sunmker
        17
    sunmker  
       2022-04-18 19:42:01 +08:00   1
    caicai123456
        18
    caicai123456  
       2023-02-14 10:01:41 +08:00
    @sunmker 用的 ROW_URL 就相於是 cookie 了呀
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3223 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 11:24 PVG 19:24 LAX 03:24 JFK 06:24
    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