Python3爬虫学习2:如何应对网站的反爬虫机制
2017-12-09 08:31
691 查看
如何应对网站的反爬虫机制
在访问某些网站的时候,网站通常会用判断访问是否带有头文件来鉴别该访问是否为爬虫,用来作为反爬取的一种策略。例如打开搜狐首页,先来看一下Chrome的头信息(F12打开开发者模式)如下:
如图,访问头信息中显示了浏览器以及系统的信息(headers所含信息众多,具体可自行查询)
Python中urllib中的request模块提供了模拟浏览器访问的功能,代码如下:
from urllib import request url = 'http://www.baidu.com' # page = request.Request(url) # page.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36') headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'} page = request.Request(url, headers=headers) page_info = request.urlopen(page).read().decode('utf-8') print(page_info) 作者:Veniendeavor 链接:http://www.jianshu.com/p/486869f23959 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
可以通过add_header(key, value) 或者直接以参数的形式和URL一起请求访问,
urllib.request.Request() urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
其中headers是一个字典,通过这种方式可以将爬虫模拟成浏览器对网站进行访问。
https://docs.python.org/3/library/urllib.request.html?highlight=request#module-urllib.request
相关文章推荐
- python爬虫系统学习十一:常见反爬虫机制与应对方法
- 如何应对网站反爬虫策略?如何高效地爬大量数据?
- Python 爬虫如何入门学习?
- python学习总结----爬虫爬一个网站的图片
- python爬虫-网站是如何防止爬虫的
- python学习(二)爬虫——爬取网站小说并保存为txt文件(二)
- Python爬虫学习笔记——自动爬取XX网站,下载种子,封面,番号
- python爬虫学习之路(1)_ CSDN网站的模拟登陆
- python该如何学习?如何用python开发网站
- Python 爬虫如何入门学习?
- 大神教你如果学习Python爬虫 如何才能高效地爬取海量数据
- python爬虫学习(上)——目标网站分析
- python学习(二)爬虫——爬取网站小说并保存为txt文件(一)
- [python 爬虫学习]利用cookie模拟网站登录
- 如何应对网站反爬虫策略?如何高效地爬大量数据?
- 零基础如何学习python爬虫,月薪2万轻轻松松
- 如何学习Python爬虫[入门篇]
- Python 爬虫学习2爬取租房网站信息
- 从python学习讲开去----如何做个好用赚钱的招聘网站。
- Python 爬虫如何入门学习?