美文网首页Python我爱编程
python爬虫实战--知乎

python爬虫实战--知乎

作者: 神之试炼者 | 来源:发表于2018-05-28 12:07 被阅读148次

    申明&警告: 请在相关网站的许可范围内爬取数据.以免影响网站正常运行, 如果我的文章有触犯权益的地方, 请告知删除.

    学习了requests库和webdriver库, 基本可以完成大部分爬虫工作了.
    下面是我爬取知乎的常用方法. 供参考学习.

    image.png

    说明: 有些网站访问的时候需要用户处于登录状态. 你要进入知乎首页需要先登录知乎账号. 但是其实访问知乎并不强制用户登录. 比如在百度搜索: 如何评价xxx 知乎. 能看到知乎帖子...说明用户登录不是必须的(可以了解下cookie和session的作用, 有时候我们需要先登录拿到这两个信息,在headers里面配置它们, 才能开始爬取网站)

    一. 直接开始爬取话题吧

    image.png
    像如上的首页, 我们把response body复制到 https://www.json.cn/ 看下
    image.png

    我们发现这些数据确实是我们要找的. 那么url是哪个呢?

    image.png

    如果我们用requests工具, 可能要伪造必要的headers信息....因为知乎headers信息不少, 我懒得一个个排查哪个是必须的. 所以一般直接用webdriver爬知乎. 然后遇到明显不要求headers的请求, 才会用requests工具(比如下载图片一般不需要太多权限信息)

    返回结果直接转成 dict结构, 然后就能直接使用了.

    具体代码怎么写, 可以自己慢慢摸索. 这篇文章只提供: "怎么找url,以及怎么分析返回结果"

    扩展:

    我爬过知乎的所有话题, 爬过感兴趣的话题下的所有上千赞的回答, 以及知乎大多数表情包(通过爬取"表情包"及其子话题下的所有问题和回复获得), 还有知乎大牛统计, 美女统计等等.....原理都一样, 找到url, 配合翻页, json解析, 然后不停的抓取就行了.

    相关文章

      网友评论

        本文标题:python爬虫实战--知乎

        本文链接:https://www.haomeiwen.com/subject/dfwwjftx.html