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的Django框架中生成CSV文件的方法
Jul 22 Python
详解Python中for循环是如何工作的
Jun 30 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
Jul 27 Python
Python多线程应用于自动化测试操作示例
Dec 06 Python
python交易记录链的实现过程详解
Jul 03 Python
Python Pandas实现数据分组求平均值并填充nan的示例
Jul 04 Python
python requests更换代理适用于IP频率限制的方法
Aug 21 Python
基于python实现雪花算法过程详解
Nov 16 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
Feb 26 Python
Python定义函数实现累计求和操作
May 03 Python
python字典的值可以修改吗
Jun 29 Python
Sentry的安装、配置、使用教程(Sentry日志手机系统)
Jul 23 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从数组中随机抽取一些元素的代码
2012/11/05 PHP
ThinkPHP3.1之D方法实例详解
2014/06/20 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
php实现连接access数据库并转txt写入的方法
2017/02/08 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
2018/10/10 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
javascript英文日期(有时间)选择器
2007/05/02 Javascript
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
jquery自动完成插件(autocomplete)应用之PHP版
2009/12/15 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
JavaScript模版引擎的基本实现方法浅析
2016/02/15 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
PyTorch的深度学习入门之PyTorch安装和配置
2019/06/27 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
美国女性奢华品牌精品店:INTERMIX
2017/10/12 全球购物
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
微型企业创业投资计划书
2014/01/10 职场文书
教师节演讲稿
2014/05/06 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
会计专业求职信范文
2015/03/19 职场文书
2016春季运动会前导词
2015/11/25 职场文书
技术入股合作协议书
2016/03/21 职场文书
什么是求职信?求职信应包含哪些内容?
2019/08/14 职场文书
MySQL 聚合函数排序
2021/07/16 MySQL
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL