躺在黄昏模糊的光里,想想现在堕落的自己,回想起从前那些平常而又普通的事…突然觉得之前自己期待的未来有点可笑…,这是摘子语句控中的一段话,今日就爬一下语句空。话不多说直接进入主题

  1. 先剖析一下网页结构,网站地址

句子控爬虫
可见主页便是一个列表页,还是先抓翻页的包,看看翻页数据接口是什么姿态的

句子控爬虫
滚动到最下面点击点击加载更多数据,可见数据接口,回来的数据也正确。看一下恳求参数中有单个值 start应该是操控页数的每页加10(多翻几页能够剖析出来)timestamp是一个时间戳,sign不知道是什么,大局索引一下看看有没有关键字

句子控爬虫
可见js中是有这个sign参数的,根据着一行js代码能够知道t恳求参数的sign是Ro办法对t的params进行处理,那么就debug一下看看是不是在着一行生成了具体操作了点什么

句子控爬虫
断点可见在这一行停住了便是里了,

句子控爬虫
打印可见这个参数便是页数和时间戳通过Ro办法生成

句子控爬虫
点进Ro办法中可见源码。那就能够直接把这段js拿到python中运用execjs执行,要缺啥补啥,或者运用python模拟生成sign参数也是能够的。ok,但这儿逻辑就明晰了 直接编辑好每页的参数然后发恳求获取每条数据就ok了

headers = {
    'authority': 'api.juzikong.com',
    'accept': 'application/json, text/plain, */*',
    'accept-language': 'zh-CN,zh;q=0.9',
    'cache-control': 'no-cache',
    'origin': 'https://www.juzikong.com',
    'pragma': 'no-cache',
    'referer': 'https://www.juzikong.com/',
    'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="100", "Google Chrome";v="100"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'sec-fetch-dest': 'empty',
    'sec-fetch-mode': 'cors',
    'sec-fetch-site': 'same-site',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36',
}
params = {
    'start': f'{start}',
    'timestamp': f'{timestamp}',
    'sign': f'{sign}',
}
response = requests.get('https://api.juzikong.com/n0/home/posts/recommend', params=params, headers=headers).json()['data']['list']
for res in response:
    content = res['content']
    print(content)

句子控爬虫
ok,笑容弥漫在脸上

句子控爬虫