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学习笔记之os模块使用总结
Nov 03 Python
在Python的Django框架中显示对象子集的方法
Jul 21 Python
在Django的视图(View)外使用Session的方法
Jul 23 Python
python编程开发之textwrap文本样式处理技巧
Nov 13 Python
python实现单向链表详解
Feb 08 Python
python如何压缩新文件到已有ZIP文件
Mar 14 Python
Python Image模块基本图像处理操作小结
Apr 13 Python
Python GUI编程 文本弹窗的实例
Jun 11 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
Python闭包及装饰器运行原理解析
Jun 17 Python
详解在Python中使用Torchmoji将文本转换为表情符号
Jul 27 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
Sep 11 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中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
PHP实现指定字段的多维数组排序函数分享
2015/03/09 PHP
通过Email发送PHP错误的方法
2015/07/20 PHP
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
PHP排序二叉树基本功能实现方法示例
2018/05/26 PHP
Jquery 高亮显示文本中重要的关键字
2009/12/24 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
jQuery函数map()和each()介绍及异同点分析
2014/11/08 Javascript
javascript实现的图片切割多块效果实例
2015/05/07 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
原生javascript实现分页效果
2017/04/21 Javascript
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
Python类的基础入门知识
2008/11/24 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
2017/11/20 Python
ubuntu系统下使用pm2设置nodejs开机自启动的方法
2018/05/12 NodeJs
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
培训讲师邀请函
2014/01/10 职场文书
《三亚落日》教学反思
2014/04/26 职场文书
企业安全生产目标责任书
2014/07/23 职场文书
会计试用期自我评价
2014/09/19 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2014年行政工作总结
2014/11/19 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
公司感谢信范文
2015/01/22 职场文书
班主任自我评价范文
2015/03/11 职场文书
golang switch语句的灵活写法介绍
2021/05/06 Golang