Python使用requests进行爬虫时返回<Response [999]>是怎么回事?如何解决?

最近在爬取领英信息时,一开始还好,状态码是[200],后来电脑待机了一个中午之后就出现了这个,状态码变成了[999],网上没找到答案,求大神解答如何解决这个问题。... 最近在爬取领英信息时, 一开始还好, 状态码是[200],后来电脑待机了一个中午之后就出现了这个, 状态码变成了[999], 网上没找到答案,求大神解答如何解决这个问题。 展开
 我来答
空空的差别
2018-05-06
知道答主
回答量:12
采纳率:0%
帮助的人:8.6万
展开全部

首先,你用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)
# 没有报错
小古娱乐实训
2018-05-06 · TA获得超过175个赞
知道小有建树答主
回答量:318
采纳率:54%
帮助的人:77.5万
展开全部
被封禁了吧。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式