python抓取网页数据(前几天在看崔庆才老师的教程微课|03月17日爬取知乎)
优采云 发布时间: 2021-10-24 17:08python抓取网页数据(前几天在看崔庆才老师的教程微课|03月17日爬取知乎)
前几天在看崔庆才老师的辅导微课的录播| 3月17日,抓取知乎的所有用户详细信息,使用Scrapy抓取知乎用户信息,使用递归。之前写的爬虫把已知的固定数据网址保存在列表中,然后遍历列表中的网址。这次的小书,我们用递归来试一试。什么是递归程序(或函数)自称为递归(recursion)的编程技巧。进程或函数在其定义或描述中具有直接或间接调用自身的方法。它通常将一个大而复杂的问题转化为一个类似于原问题的较小问题来解决。递归的优点
1、降低问题难度
2、大大减少程序中的代码量
3、递归的能力在于使用有限的语句来定义无限的对象集
这个案例
如果看图麻烦,可以先看邓老师录制的视频讲解,请点击链接
【Python爬虫】如何捕捉优质短书用户(请允许我放个广告)
按照获取项目源码
在这种情况下,我们需要抓取简书的优质用户信息,例如昵称、id、文章的数量、文章数、字数、获得的点赞数等。我们只抓取一个人后面跟着用户ta。至于这个ta的粉丝,我们就不拍了。相对而言,他们关注的人比他们的粉丝质量更高,档次更高。
先从初始用户开始,比如用户列表后面跟着邓旭东HIT,得到25个用户A、B、C等,后面跟着邓旭东。
依次抓取这25个用户关注的用户
循环前两步
我们先来分析一下URL结构
网址分析
我们发现当我向下滚动观察列表时,页面底部会加载,并且图片左下角会有更多
下列的?page=3 及以下?page=4 两个 xhr 类型的文件。
把鼠标放在下面?page=3 文件上方弹出一个网址
http://www.jianshu.com/users/1562c7f16a04/following?page=3
我们用鼠标点击下面的?page=3,点击Headers,发现请求的url是
http://www.jianshu.com/users/1562c7f16a04/following?page=3
那么问题来了,页数是怎么构造的呢?
我们发现用户的粉丝数除以10,再四舍五入加1就是最大页数。
例如,如果邓旭东关注25个人,就会有3个页面:page=1、page=2、page=3。
现在我们已经建立了
网站在那里,我们开始分析一下,要抓取的数据在网页的源代码中存储在哪里?
网络分析