昨天扒了一下热门网络流行语查询的历史数据发现数据太多了,找到想要的梗比较麻烦,今天扒一下这个索引功能能,这样的话就自己检索,就不用翻历史数据了,话说,明天假期就结束了。感觉过没过都一样,又是继续板砖的生活哦,有什么有趣的事情一块分享分享呗,我先来,我写了五篇爬虫,每天一篇
- 话不多说直接进入主题,网站地址,还是先分享一下网站结构
进来之后可见检索栏,然后检索一个梗抓包看看
我检索的是anti可见数据是返回子啊html中了,但是检索发现这里有个参数__searchtoken__,盲猜不出是个什么加密,看这溜数字啥也不像。先去sources全局搜一下这个参数名试试
只有一个结果而且是在html中,仔细看这两个值发现是不同的
嗯...盲猜这个源码中的值是下一请用使用的,然后下一次返回的html中还会带着下下次请求使用的__searchtoken__值,很好验证,再检索一下看值是否相同
可见就是相同的,那就没问题了,在首页请求中应该也是在input标签中携带这个参数和值的,那就明了了,先这样...再...最后...
2. 先求请求首页,获取到__searchtoken__的值
headers = {
'authority': 'www.shenmegeng.cn',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'accept-language': 'zh-CN,zh;q=0.9',
'cache-control': 'no-cache',
'pragma': 'no-cache',
'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': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'none',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'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',
}
response = requests.get('https://www.shenmegeng.cn/', headers=headers)
res = etree.HTML(response.text)
searchtoken = res.xpath("//div[@class='row']//input[@type='hidden']/@value")
print(searchtoken)
然后再请求索引接口
headers = {
'authority': 'www.shenmegeng.cn',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'accept-language': 'zh-CN,zh;q=0.9',
'cache-control': 'no-cache',
'cookie': 'PHPSESSID=6qjhh5momeu5eseueho13drhid; __51uvsct__JSHvsSrYOkXClLjw=1; __51vcke__JSHvsSrYOkXClLjw=a7620899-bb09-5d4b-807d-04797197187b; __51vuft__JSHvsSrYOkXClLjw=1682472158732; _tcnyl=1; __vtins__JSHvsSrYOkXClLjw=%7B%22sid%22%3A%20%224aeeee8a-a8d5-5443-8378-7be81ebe73b5%22%2C%20%22vd%22%3A%2012%2C%20%22stt%22%3A%203980413%2C%20%22dr%22%3A%20137312%2C%20%22expires%22%3A%201682477939142%2C%20%22ct%22%3A%201682476139142%7D',
'pragma': 'no-cache',
'referer': 'https://www.shenmegeng.cn/',
'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': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'same-origin',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'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 = {
'q': '黑化',
'__searchtoken__': f'{searchtoken}',
}
response = requests.get('https://www.shenmegeng.cn/s.html', params=params, headers=headers)
print(response.text)
没什么问题