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 除法小技巧
Sep 06 Python
一个检测OpenSSL心脏出血漏洞的Python脚本分享
Apr 10 Python
Python生成数字图片代码分享
Oct 31 Python
Python排序搜索基本算法之希尔排序实例分析
Dec 09 Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
Dec 02 Python
pytorch 状态字典:state_dict使用详解
Jan 17 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
Jun 12 Python
解决tensorflow/keras时出现数组维度不匹配问题
Jun 29 Python
如何基于Python和Flask编写Prometheus监控
Nov 25 Python
python 自动化偷懒的四个实用操作
Apr 11 Python
Pytorch DataLoader shuffle验证方式
Jun 02 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/01/18 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
php5与php7的区别点总结
2019/10/11 PHP
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
jQuery里filter()函数与find()函数用法分析
2015/06/24 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
2019/04/22 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
python相似模块用例
2016/03/04 Python
深入理解python中的atexit模块
2017/03/07 Python
python中import reload __import__的区别详解
2017/10/16 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
Python 运行 shell 获取输出结果的实例
2019/01/07 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
Python创建或生成列表的操作方法
2019/06/19 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
DataList 能否分页,请问如何实现?
2015/05/03 面试题
应届生人事助理求职信
2013/11/09 职场文书
计算机专业推荐信范文
2013/11/27 职场文书
服装设计行业个人的自我评价
2013/12/20 职场文书
研修心得体会
2014/09/04 职场文书
教育实习指导教师评语
2014/12/31 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
保研推荐信范文
2015/03/25 职场文书
居委会工作总结2015
2015/05/18 职场文书
2015年环境监察工作总结
2015/07/23 职场文书