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的Flask开发框架简单上手笔记
Nov 16 Python
使用python实现ANN
Dec 20 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
Nov 06 Python
对dataframe数据之间求补集的实例详解
Jan 30 Python
基于Python中isfile函数和isdir函数使用详解
Nov 29 Python
opencv3/C++图像像素操作详解
Dec 10 Python
python设置代理和添加镜像源的方法
Feb 14 Python
Python迭代器Iterable判断方法解析
Mar 16 Python
Python try except异常捕获机制原理解析
Apr 18 Python
什么是Python中的顺序表
Jun 02 Python
python 实现批量图片识别并翻译
Nov 02 Python
python 实现倒计时功能(gui界面)
Nov 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
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
页面中iframe相互传值传参
2009/12/13 Javascript
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
Angular.JS中指令ng-if的注意事项小结
2017/06/21 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
2018/03/09 jQuery
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
JS+JQuery实现无缝连接轮播图
2020/12/30 jQuery
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
Python编写生成验证码的脚本的教程
2015/05/04 Python
keras.layer.input()用法说明
2020/06/16 Python
全球性的在线鞋类品牌:Public Desire
2019/04/03 全球购物
如何提高SQL Server的安全性
2016/07/25 面试题
促销活动总结报告
2014/04/26 职场文书
应届大专生求职信
2014/06/26 职场文书
普通党员个人对照检查材料
2014/09/18 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
离职感谢信
2015/01/21 职场文书
财务统计员岗位职责
2015/04/14 职场文书
2016年优秀教师先进事迹材料
2016/02/26 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server
JS函数式编程实现XDM一
2022/06/16 Javascript