首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
Coding
V2EX  ›  Python

Python +mysql 简易爬虫给新浪大 V 微博和文章做备份

  •  
  •   hubqin · 2018-07-02 23:42:17 +08:00 · 2786 次点击
    这是一个创建于 530 天前的主题,其中的信息可能已经有所发展或是发生改变。

    写了个爬虫定期抓取新浪指定用户的微博和文章,以防哪天失联了还能看备份。 GitHub: https://github.com/HubQin/sinaCrawlerV

    各文件功能:

    使用:

    • 创建数据表:运行 sina.sql 创建数据表
    • 完善 config.py 的参数,抓取微博使用移动端的请求链接;抓取文章需要登录,这里手动登录后,查看移动端的异步请求,复制 Request Header 里面的 cookie 出来使用
    • 命令行终端 cd 到 py 文件所在目录,运行 pyhton.pyarticle.py ,或修改 auto.bat 文件的 cd 路径,双击改文件开始抓取
    第 1 条附言  ·  2018-07-16 14:08:53 +08:00
    @JohnChiu

    这里使用谷歌浏览器

    1. 微博列表链接获取
    a. 使用微博手机端链接: https://m.weibo.cn/ ,打开页面后搜索想要抓取的用户名,如图:


    b. 点击搜索到的用户,点击进入用户的主页:


    c. 在页面上右键菜单选择查看(审查元素),点击 Network-->XHR, 滚动页面触发数据加载:

    箭头所指的链接即该用户微博列表请求链接,即文件 config.py 中的 listUrlFormat 参数,注意结尾 page 的值替换为{}(也可以替换里面的 uid 和 container_id )

    2. 文章列表链接和 Cookie 获取:
    a. 需要先登录微博账号。然后点开文章列表:


    b. 按 1 中同样的方法获得文章列表请求链接


    箭头所指的值即文章列表请求链接,即文件 config.py 中的 articleListUrlFormat 参数,注意结尾 page 的值替换为{}
    c.点击 Header 获取 Cookie,如图:


    将该 cookie 的值赋给 articleHeaders 的 Cookie
    9 回复  |  直到 2018-07-16 21:18:51 +08:00
        1
    Sanko   2018-07-02 23:45:48 +08:00 via Android
    支持
    把微博热搜也抓一下,就能看出来哪些是用钱买的空降热搜了
        2
    ACool   2018-07-02 23:53:08 +08:00 via Android
    我最近也写了一个微博的爬虫,并且对微博用户信息进行了分析 https://github.com/starFalll/Spider
        3
    Macuilxochitl   2018-07-03 00:02:08 +08:00 via Android
    mark,正好想备份下自己微博
        4
    winsky   2018-07-03 00:15:58 +08:00
    以前也搞过一个类似的项目,跑的很稳定,多线程抓取
        5
    hubqin   2018-07-03 09:21:08 +08:00 via Android
    @Sanko 多谢支持!可以试一下。
        6
    JohnChiu   2018-07-14 20:59:41 +08:00
    弱弱地问一下,在哪里指定抓取哪个用户呢?在 config.pypost.py 中都没看出来~
        7
    hubqin   2018-07-16 14:12:31 +08:00   ♥ 1
    @JohnChiu 详细说明已添加到附言,请查看。
        8
    JohnChiu   2018-07-16 20:23:37 +08:00
    @hubqin #7 感谢!希望以后能爬取微博中的图片~
        9
    hubqin   2018-07-16 21:18:51 +08:00
    @JohnChiu 计划把图片的 url 保存下来
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   868 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 21:26 · PVG 05:26 · LAX 13:26 · JFK 16:26
    ♥ Do have faith in what you're doing.