request.get有时候需要输入headers才能访问

spider运行时候html为空,用浏览器输入链接有内容,用postman输入链接也有内容,后来搜索到下面内容加了headers好了。

https://www.cnblogs.com/Masterpaopao/p/10235997.html

Requests请求方式:Get与Post
为什么要学习requests,而不是urllib?

1.requests的底层实现就是urllib。

2.requests在python2和python3中通用,方法完全一样。

3.requests简单易用。

4.requests能够自动帮我们解压(gzip压缩等)网页内容。

在写爬虫的过程中,一定要养成一个好习惯,学会模拟浏览器的User-Agent。

如果不去模拟的话,以Python作为User-Agent去访问,会受到条件的限制。

import requests

#为什么请求访问要带上headers,目的是模拟欺骗浏览器,获取完整的内容
headers={
“User-Agent”:“Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6814.400 QQBrowser/10.3.3005.400”
}
response=requests.get(“http://www.baidu.com”,headers=headers)

#status_code,获取响应码的值
a=response.status_code
#获取响应报头
b=response.headers
#显示出访问的url
c=response.url
#获取请求报头的User-Agent
d=response.request.headers
#显示百度源码内容,转换为unicode编码的形式显现
e=response.content.decode()

你可能感兴趣的:(python)