Python使用requests进行爬虫时返回<Response [999]>是怎么回事?如何解决?
最近在爬取领英信息时,一开始还好,状态码是[200],后来电脑待机了一个中午之后就出现了这个,状态码变成了[999],网上没找到答案,求大神解答如何解决这个问题。...
最近在爬取领英信息时, 一开始还好, 状态码是[200],后来电脑待机了一个中午之后就出现了这个, 状态码变成了[999], 网上没找到答案,求大神解答如何解决这个问题。
展开
2个回答
展开全部
首先,你用post请求登录了,所以第一个状态码是200,其次,你在第二个get请求里面没有设置cookie值,所以会被禁止访问。
修改版如下
r = s.post(url=url, data=post_data, headers=headers)
html = s.get("target_url", cookies=r.cookies)
# 当然,你也可以使用Session方法,这样就不用每次都传递cookies参数,具体百度
更多追问追答
追问
我用的就是session啊,可是还是这样
追答
import requests
params = {
'session_key': '******',
'session_password': '******'}
headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'cache-control': 'no-cache',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.18 Safari/537.36'
}
session = requests.Session()
s = session.post('https://www.linkedin.com/uas/login-submit', params, headers=headers)
response = session.get('https://www.linkedin.com/jobs/search/?keywords=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6&location=%E4%B8%AD%E5%9B%BD%20%E5%A4%A9%E6%B4%A5&locationId=cn%3A8907')
print(response.text)
# 没有报错
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询