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中线程的MQ消息队列实现以及消息队列的优点解析
Jun 29 Python
python爬取w3shcool的JQuery课程并且保存到本地
Apr 06 Python
安装python3的时候就是输入python3死活没有反应的解决方法
Jan 24 Python
Python 机器学习库 NumPy入门教程
Apr 19 Python
linux查找当前python解释器的位置方法
Feb 20 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
Aug 05 Python
python机器学习库xgboost的使用
Jan 20 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
Mar 04 Python
Django项目创建及管理实现流程详解
Oct 13 Python
python 爬取百度文库并下载(免费文章限定)
Dec 04 Python
利用python+request通过接口实现人员通行记录上传功能
Jan 13 Python
Autopep8的使用(python自动编排工具)
Mar 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学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
xml和web特殊字符
2009/04/28 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
jQuery删除当前节点元素
2016/12/07 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
js 获取今天以及过去日期
2017/04/11 Javascript
vue axios 二次封装的示例代码
2017/12/08 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
详解vue axios二次封装
2018/07/22 Javascript
vue 动态表单开发方法案例详解
2019/12/02 Javascript
python字典的常用操作方法小结
2016/05/16 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
Python进程间通信Queue实例解析
2018/01/25 Python
python实现k-means聚类算法
2018/02/23 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
Python第三方Window模块文件的几种安装方法
2018/11/22 Python
详解Python3定时器任务代码
2019/09/23 Python
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
大学生求职信范文应怎么写
2014/01/01 职场文书
C++程序员求职信范文
2014/04/14 职场文书
小学生演讲稿大全
2014/04/25 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
父母教会我观后感
2015/06/17 职场文书
幼儿园教师培训心得体会
2016/01/21 职场文书
经销商会议开幕词
2016/03/04 职场文书
vue里使用create, mounted调用方法
2022/04/26 Vue.js