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检测远程udp端口是否打开的方法
Mar 14 Python
简单介绍Python中的len()函数的使用
Apr 07 Python
python2.7的编码问题与解决方法
Oct 04 Python
Python标准库之itertools库的使用方法
Sep 07 Python
解决PyCharm同目录下导入模块会报错的问题
Oct 13 Python
Python基于Tkinter模块实现的弹球小游戏
Dec 27 Python
Python时间和字符串转换操作实例分析
Mar 16 Python
基于python框架Scrapy爬取自己的博客内容过程详解
Aug 05 Python
对Pytorch神经网络初始化kaiming分布详解
Aug 18 Python
详解一种用django_cache实现分布式锁的方式
Sep 01 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
python 识别登录验证码图片功能的实现代码(完整代码)
Jul 03 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生成可点击刷新的验证码简单示例
2016/05/13 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
javascript hasFocus使用实例
2010/06/29 Javascript
Js实现自定义右键行为
2015/03/26 Javascript
js实现非常简单的焦点图切换特效实例
2015/05/07 Javascript
Nodejs如何复制文件
2016/03/09 NodeJs
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
webuploader模态框ueditor显示问题解决方法
2016/12/27 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
[01:18:33]Secret vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
用Python实现协同过滤的教程
2015/04/08 Python
python复制文件的方法实例详解
2015/05/22 Python
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
python 整数越界问题详解
2019/06/27 Python
利用python对excel中一列的时间数据更改格式操作
2020/07/14 Python
Python 爬虫性能相关总结
2020/08/03 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
自荐信不宜过于夸大
2013/11/06 职场文书
大学军训感言
2014/01/10 职场文书
优秀中学生事迹材料
2014/01/31 职场文书
优良学风班总结材料
2014/02/08 职场文书
《她是我的朋友》教学反思
2014/04/26 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
计划生育汇报材料
2014/12/26 职场文书
免职通知
2015/04/23 职场文书
关于战胜挫折的名言警句大全!
2019/07/05 职场文书