由于安居客网站的反爬虫,这里必须要设置header,而设置header有以下三种办法:
方法一:代码查看
通过python获取网页的链接url,返回码,以及相关的信息
对反爬虫网页,可以设置一些headers信息,模拟成浏览器取访问网站
import urllib.request
url="https://www.baidu.com/"
file=urllib.request.urlopen(url)
print('获取当前url:',file.geturl() )
print('file.getcode,HTTPResponse类型:',file.getcode )
print('file.info 返回当前环境相关的信息:' ,file.info())
方法二:通过浏览器查看使用build_opener()修改报头
浏览器输入网址——F12——查看network——左边浏览器——查看headers头部
复制
上边这个headers对应的存储user-agent信息,定义格式为:“User-Agent”,具体信息,获取一次即可,不需要每次通过F12获取
对反爬虫网页,可以设置一些headers信息,模拟成浏览器取访问网站
import urllib.request
url="https://quanzhou.anjuke.com/"
file=urllib.request.urlopen(url)
print('获取当前url:',file.geturl() )
print('file.getcode,HTTPResponse类型:',file.getcode )
print('file.info 返回当前环境相关的信息:' ,file.info())
爬虫模式浏览访问网页设置方法
'user-agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
上边这个headers对应的存储user-agent信息,定义格式为:“User-Agent”,具体信息,获取一次即可,不需要每次通过F12获取
方法三:通过add_header()添加报头
urllib.request.Request()下的add_header()实现浏览器模式
request对象名.add_header(字段名,字段值)
方法二:使用add_header()添加报头
import urllib.request
url="https://quanzhou.anjuke.com/"
req=urllib.request.Request(url)
实现浏览器模式
req.add_header( ‘’user-agent‘’: ‘’Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36‘’
)
data=urllib.request.urlopen(req).read()
成功设置好了报头,成功模拟浏览器爬取网址信息。写入User-Agent,避免了403错误。
参考文章:https://blog.csdn.net/qq_36411874/article/details/83652318