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中字典创建、遍历、添加等实用操作技巧合集
Jun 02 Python
Android应用开发中Action bar编写的入门教程
Feb 26 Python
python 列表,数组,矩阵两两转换tolist()的实例
Apr 04 Python
Python处理CSV与List的转换方法
Apr 19 Python
Python小游戏之300行代码实现俄罗斯方块
Jan 04 Python
如何通过python画loss曲线的方法
Jun 26 Python
在python中用url_for构造URL的方法
Jul 25 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
Aug 13 Python
django 中使用DateTime常用的时间查询方式
Dec 03 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
利用python对mysql表做全局模糊搜索并分页实例
Jul 12 Python
用Python进行栅格数据的分区统计和批量提取
May 27 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 获取本机外网/公网IP的代码
2010/05/09 PHP
ThinkPHP中order()使用方法详解
2016/04/19 PHP
JQuery的html(data)方法与<script>脚本块的解决方法
2010/03/09 Javascript
使用JavaScript 实现各种跨域的方法
2013/05/08 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
javascript使用avalon绑定实现checkbox全选
2015/05/06 Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
2016/01/25 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
js实现消息滚动效果
2017/01/18 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
Vue 无限滚动加载指令实现方法
2019/05/28 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
python获取url的返回信息方法
2018/12/17 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
Timberland美国官网:全球领先的户外品牌
2016/08/15 全球购物
Skyscanner波兰:廉价航班
2017/11/07 全球购物
某公司C#程序员面试题笔试题
2014/05/26 面试题
经理秘书岗位职责
2013/11/14 职场文书
集体婚礼证婚词
2014/01/13 职场文书
锦旗标语大全
2014/06/23 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
党校毕业个人总结
2015/02/28 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
golang 语言中错误处理机制
2021/08/30 Golang
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP