-
效果图
-
传送门点击传送门
-
进入网站之后我们打开开发工具之后,往下滑时会出现一个接口(当然滑的越多接口越多)
-
我们通过对比两个及以上的接口进行分析它们的不同之处(这叫找规律)
可以发现max_id是在变化的,其他都是不变的,而且count是返回的文章数目有15个,所以max_id只要自增15就可以实现翻页了,是不是很简单
-
我们可以这么写代码实现翻页(这代码只是举例子怎么写翻页,不代表最终的代码),这里我取max_id开始的地方是20333000(小伙伴们可以自己去找一下max_id的有效范围),如下
max_id = 20333000
while True:
# 请求的url
url = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id={}&count=15&category=-1'.format(max_id)
# 返回来的数据是json格式
resp = requests.get(url, headers=headers).json()
max_id += 15
- 接下来分析一下返回来的数据,以便我们进行抓取,通过下图我们可以发现每一篇文章都是存储在列表这个键当中的,所以我们先取出list这个键
代码如下:
# 我们需要的数据存在一个列表之中,先取出这个列表
lists = resp.get('list')
- 再看每一篇文章的信息,将data的信息复制粘贴到json.cn这个网站去查看json的信息,可以发在data中取出我们需要的信息