Python3 伪装浏览器的方法示例


Posted in Python onNovember 23, 2017

一、伪装浏览器

对于一些需要登录的网站,如果不是从浏览器发出的请求,则得不到响应。所以,我们需要将爬虫程序发出的请求伪装成浏览器正规军。

具体实现:自定义网页请求报头。

二、使用Fiddler查看请求和响应报头

打开工具Fiddler,然后再浏览器访问“https://www.douban.com/”,在Fiddler左侧访问记录中,找到“200 HTTPS www.douban.com”这一条,点击查看其对应的请求和响应报头具体内容:

Python3 伪装浏览器的方法示例

三、访问豆瓣

我们自定义请求报头与上图Request Headers相同内容:

''''' 
伪装浏览器 
 
对于一些需要登录的网站,如果不是从浏览器发出的请求,则得不到响应。 
所以,我们需要将爬虫程序发出的请求伪装成浏览器正规军。 
具体实现:自定义网页请求报头。 
''' 
 
#实例二:依然爬取豆瓣,采用伪装浏览器的方式 
 
import urllib.request 
 
#定义保存函数 
def saveFile(data): 
 path = "E:\\projects\\Spider\\02_douban.out" 
 f = open(path,'wb') 
 f.write(data) 
 f.close() 
 
#网址 
url = "https://www.douban.com/" 
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' 
      'Chrome/51.0.2704.63 Safari/537.36'} 
req = urllib.request.Request(url=url,headers=headers) 
 
res = urllib.request.urlopen(req) 
 
data = res.read() 
 
#也可以把爬取的内容保存到文件中 
saveFile(data) 
 
data = data.decode('utf-8') 
#打印抓取的内容 
print(data) 
 
 
#打印爬取网页的各类信息 
print(type(res)) 
print(res.geturl()) 
print(res.info()) 
print(res.getcode())

四、输出的结果结果(截取部分)

Python3 伪装浏览器的方法示例

结果文件内容

Python3 伪装浏览器的方法示例

GitHub代码链接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基于mysql实现的简单队列以及跨进程锁实例详解
Jul 07 Python
分享Python文本生成二维码实例
Jan 06 Python
Python enumerate索引迭代代码解析
Jan 19 Python
Django添加sitemap的方法示例
Aug 06 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
Apr 12 Python
简单了解python gevent 协程使用及作用
Jul 22 Python
Pandas之groupby( )用法笔记小结
Jul 23 Python
Python OrderedDict的使用案例解析
Oct 25 Python
Python csv文件记录流程代码解析
Jul 16 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
Nov 12 Python
python中使用asyncio实现异步IO实例分析
Feb 26 Python
python数字类型和占位符详情
Mar 13 Python
python学习笔记之列表(list)与元组(tuple)详解
Nov 23 #Python
python数字图像处理之高级滤波代码详解
Nov 23 #Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
Nov 23 #Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
Nov 23 #Python
Python实现的基数排序算法原理与用法实例分析
Nov 23 #Python
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 #Python
python简单图片操作:打开\显示\保存图像方法介绍
Nov 23 #Python
You might like
PHP 读取Postgresql中的数组
2013/04/14 PHP
php和redis实现秒杀活动的流程
2019/07/17 PHP
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
浅析js中取绝对值的2种方法
2013/07/09 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
使用原生js封装的ajax实例(兼容jsonp)
2017/10/12 Javascript
Vue.js2.0中的变化小结
2017/10/24 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
python3.3使用tkinter开发猜数字游戏示例
2014/03/14 Python
python实现绘制树枝简单示例
2014/07/24 Python
Python 内置函数complex详解
2016/10/23 Python
Python实现网站注册验证码生成类
2017/06/08 Python
Python 多进程和数据传递的理解
2017/10/09 Python
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
Django中url的反向查询的方法
2018/03/14 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
Python中的全局变量如何理解
2020/06/04 Python
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
建筑设计学生的自我评价
2014/01/16 职场文书
云南省召开党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
家装业务员岗位职责
2015/04/03 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
幼儿园心得体会范文
2016/01/21 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server