Python爬取微博文字与图片(不使用Cookie)

网页版微博是纯正的HTML,而且调用的微博自家的API来获取图片。

网址:https://m.weibo.cn/api/container/即为微博api里面包含了个人的信息与微博文字与图片存储地址。

进入api页面我们可以很清晰的看到各种信息都用json存储起来了。我们再利用python中的json库提取出来即可。这比其它利用cookie模拟登陆要方便很多,我们只要输入被爬虫用户的微博ID然后运行便能自动爬取。

ID从这个复制链接里面可以看出来。

代码采用Python3

最终的效果图(爬取的微博txt文件):

爬取的微博图片:

以后下壁纸就很简单啦!!!

GUI程序:http://www.omegaxyz.com/2018/02/14/python_weibo_gui/

 

27 评论

    • 年代久远,这个代码现在还能跑嘛?
      欢迎您push最新的代码到:https://github.com/xyjigsaw/Weibo-Crawler-GUI

      • 能跑,但是很奇怪的跑到将近200页的时候输出的cards就会变成空值,但是将网站直接贴到浏览器上面又显示明明是有json值的

        • 可能是微博的反爬机制,欢迎你调试并push最新的代码到https://github.com/xyjigsaw/Weibo-Crawler-GUI

  1. 你好老師, 我是個初學者, 請問如果我想把下載的相片根據相片的發布日期命名排序, 我應該如何修改代碼?
    另外如果想同時下載視頻, 是不是難以實踐, 感謝

  2. 找到了用户id,但是脚本函数get_userInfo返回{“ok”:0,”msg”:”\u8fd9\u91cc\u8fd8\u6ca1\u6709\u5185\u5bb9″,”data”:{“cards”:[]}}。但是使用浏览器打开却是正常的{“ok”:1…………(省略)。修改了User-Agent,也没好。请指导!

  3. 你好,这个container和直接查看网页源码获取到的图片链接一样吗?有时间请楼主解答

  4. 博主的方法是把客户端伪装成了浏览器,设置proxy和user agent,但是这样浏览器端必须登陆过微博才可以用,我理解的对吗?
    如果我想在一个app里面模拟,也要做这些操作了?
    麻烦作者回复一下,谢谢

留下评论