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 BeautifulSoup使用方法详解
Nov 21 Python
python实现判断数组是否包含指定元素的方法
Jul 15 Python
Python实现通过文件路径获取文件hash值的方法
Apr 29 Python
基于Python代码编辑器的选用(详解)
Sep 13 Python
Python网络编程之TCP套接字简单用法示例
Apr 09 Python
用python爬取租房网站信息的代码
Dec 14 Python
对python条件表达式的四种实现方法小结
Jan 30 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
Nov 26 Python
python飞机大战 pygame游戏创建快速入门详解
Dec 17 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
Apr 15 Python
Python 抓取数据存储到Redis中的操作
Jul 16 Python
python中常用的数据结构介绍
Jan 12 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
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
Javascript学习笔记9 prototype封装继承
2010/01/11 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
浅谈js的url解析函数封装
2016/06/28 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
Python基本数据类型详细介绍
2014/03/11 Python
Python设计模式之观察者模式实例
2014/04/26 Python
Python FTP操作类代码分享
2014/05/13 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
python实现在线翻译功能
2020/03/03 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
Python如何对齐字符串
2020/07/30 Python
python 写一个水果忍者游戏
2021/01/13 Python
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
航空大学应届生求职信
2013/11/10 职场文书
关于中国梦的演讲稿
2014/04/23 职场文书
目标责任书格式
2014/07/28 职场文书
中秋节活动总结
2014/08/29 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书