推荐学习书目
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
hubqin
V2EX  ›  Python

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

  •  
  •   hubqin · Jul 2, 2018 · 5098 views
    This topic created in 2874 days ago, the information mentioned may be changed or developed.

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

    各文件功能:

    使用:

    • 创建数据表:运行 sina.sql 创建数据表
    • 完善 config.py 的参数,抓取微博使用移动端的请求链接;抓取文章需要登录,这里手动登录后,查看移动端的异步请求,复制 Request Header 里面的 cookie 出来使用
    • 命令行终端 cd 到 py 文件所在目录,运行 pyhton.pyarticle.py ,或修改 auto.bat 文件的 cd 路径,双击改文件开始抓取
    Supplement 1  ·  Jul 16, 2018
    @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 replies    2018-07-16 21:18:51 +08:00
    Sanko
        1
    Sanko  
       Jul 2, 2018 via Android
    支持
    把微博热搜也抓一下,就能看出来哪些是用钱买的空降热搜了
    ACool
        2
    ACool  
       Jul 2, 2018 via Android
    我最近也写了一个微博的爬虫,并且对微博用户信息进行了分析 https://github.com/starFalll/Spider
    Macuilxochitl
        3
    Macuilxochitl  
       Jul 3, 2018 via Android
    mark,正好想备份下自己微博
    winsky
        4
    winsky  
       Jul 3, 2018
    以前也搞过一个类似的项目,跑的很稳定,多线程抓取
    hubqin
        5
    hubqin  
    OP
       Jul 3, 2018 via Android
    @Sanko 多谢支持!可以试一下。
    JohnChiu
        6
    JohnChiu  
       Jul 14, 2018
    弱弱地问一下,在哪里指定抓取哪个用户呢?在 config.pypost.py 中都没看出来~
    hubqin
        7
    hubqin  
    OP
       Jul 16, 2018   ❤️ 1
    @JohnChiu 详细说明已添加到附言,请查看。
    JohnChiu
        8
    JohnChiu  
       Jul 16, 2018
    @hubqin #7 感谢!希望以后能爬取微博中的图片~
    hubqin
        9
    hubqin  
    OP
       Jul 16, 2018
    @JohnChiu 计划把图片的 url 保存下来
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   976 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 19:12 · PVG 03:12 · LAX 12:12 · JFK 15:12
    ♥ Do have faith in what you're doing.