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 相关文章推荐
深入理解Django的中间件middleware
Mar 14 Python
python解决字符串倒序输出的问题
Jun 25 Python
Python txt文件加入字典并查询的方法
Jan 15 Python
Python学习笔记之Zip和Enumerate用法实例分析
Aug 14 Python
python解释器spython使用及原理解析
Aug 24 Python
python实现多线程端口扫描
Aug 31 Python
Django 实现Admin自动填充当前用户的示例代码
Nov 18 Python
python实现俄罗斯方块游戏(改进版)
Mar 13 Python
Python Selenium安装及环境配置的实现
Mar 17 Python
pycharm中选中一个单词替换所有重复单词的实现方法
Nov 17 Python
上手简单,功能强大的Python爬虫框架——feapder
Apr 27 Python
解决pytorch-gpu 安装失败的记录
May 24 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正则走开
2008/03/15 PHP
php上传文件并显示上传进度的方法
2015/03/24 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
php支付宝APP支付功能
2020/07/29 PHP
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
基于javascript实现样式清新图片轮播特效
2016/03/30 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
[02:32]DOTA2完美大师赛场馆静安体育中心观赛全攻略
2017/11/08 DOTA
写了个监控nginx进程的Python脚本
2012/05/10 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
2017/04/19 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
python实现ip代理池功能示例
2019/07/05 Python
python实现大文件分割与合并
2019/07/22 Python
对于Python深浅拷贝的理解
2019/07/29 Python
浅谈在django中使用redirect重定向数据传输的问题
2020/03/13 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
浅谈Python3中print函数的换行
2020/08/05 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
英国最大线上综合鞋类商城:Office
2017/12/08 全球购物
请解释在new与override的区别
2012/10/29 面试题
平面设计师的工作职责
2013/11/21 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
公司与个人合作协议书
2016/03/19 职场文书
php+laravel 扫码二维码签到功能
2021/05/15 PHP
ajax请求前端跨域问题原因及解决方案
2021/10/16 Javascript