曾尝试各种方法,没有效果。使用的是函数requests.get(),已写header、cookie、User-Agent,也写了rsp.encoding = rsp.apparent_encoding。
但是仍是爬取不了。奇怪的同一个网站同一个榜单,只是页数不同,前若干页能爬取,后若干页就爬取不了,一度怀疑是不允许爬。
最后终于发现原因!
因为Cookie找错了(kao!!!!!)
注意要用这里的cookie!
(下图是Chrome的开发者工具视图)
用requests.get()的标准格式:
【只是个人觉得的】
# 伪装成浏览器,防止封ip
headers = {
'User-Agent': 'XXX',
'Host': 'XXX',
'Cookie': 'XXX',
}
# 防止爬虫突然断掉,使其重复执行访问
tries = 10
while tries > 0:
try:
rsp = requests.get(url, headers=headers) # url:访问的网址
break
except Exception as e:
tries -= 1
# print(e)
# 防止中文乱码
rsp.encoding = rsp.apparent_encoding
data = rsp.text
浪费了我那么多时间,好气!
如果有帮助就点个赞吧。