Python3 伪装浏览器的方法示例

一、伪装浏览器

对于一些需要登录的网站,如果不是从浏览器发出的请求,则得不到响应。所以,我们需要将爬虫程序发出的请求伪装成浏览器正规军。

具体实现:自定义网页请求报头。

二、使用Fiddler查看请求和响应报头

打开工具Fiddler,然后再浏览器访问“https://www.douban.com/”,在Fiddler左侧访问记录中,找到“200 HTTPS www.douban.com”这一条,点击查看其对应的请求和响应报头具体内容:

三、访问豆瓣

我们自定义请求报头与上图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())

四、输出的结果结果(截取部分)

结果文件内容

GitHub代码链接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

您可能感兴趣的文章:

  • python网络爬虫之如何伪装逃过反爬虫程序的方法
  • Python使用scrapy采集时伪装成HTTP/1.1的方法
(0)

相关推荐

  • python网络爬虫之如何伪装逃过反爬虫程序的方法

    有的时候,我们本来写得好好的爬虫代码,之前还运行得Ok, 一下子突然报错了. 报错信息如下: Http 800 Internal internet error 这是因为你的对象网站设置了反爬虫程序,如果用现有的爬虫代码,会被拒绝. 之前正常的爬虫代码如下: from urllib.request import urlopen ... html = urlopen(scrapeUrl) bsObj = BeautifulSoup(html.read(), "html.parser") 这

  • Python使用scrapy采集时伪装成HTTP/1.1的方法

    本文实例讲述了Python使用scrapy采集时伪装成HTTP/1.1的方法.分享给大家供大家参考.具体如下: 添加下面的代码到 settings.py 文件 复制代码 代码如下: DOWNLOADER_HTTPCLIENTFACTORY = 'myproject.downloader.HTTPClientFactory' 保存以下代码到单独的.py文件 复制代码 代码如下: from scrapy.core.downloader.webclient import ScrapyHTTPClien

  • Python3 伪装浏览器的方法示例

    一.伪装浏览器 对于一些需要登录的网站,如果不是从浏览器发出的请求,则得不到响应.所以,我们需要将爬虫程序发出的请求伪装成浏览器正规军. 具体实现:自定义网页请求报头. 二.使用Fiddler查看请求和响应报头 打开工具Fiddler,然后再浏览器访问"https://www.douban.com/",在Fiddler左侧访问记录中,找到"200 HTTPS www.douban.com"这一条,点击查看其对应的请求和响应报头具体内容: 三.访问豆瓣 我们自定义请求

  • Python3.X 线程中信号量的使用方法示例

    前言 最近在学习python,发现了解线程信号量的基础知识,对深入理解python的线程会大有帮助.所以本文将给大家介绍Python3.X线程中信号量的使用方法,下面话不多说,来一起看看详细的介绍: 方法示例 线程中,信号量主要是用来维持有限的资源,使得在一定时间使用该资源的线程只有指定的数量 # -*- coding:utf-8 -*- """ Created by FizLin on 2017/07/23/-下午10:59 mail: https://github.com

  • Python3列表内置方法大全及示例代码小结

    Python中的列表是简直可说是有容乃大,虽然看似类似C中的数组,但是Python列表可以接受任意的对象元素,比如,字符串,数字,布尔值,甚至列表,字典等等,自由度提升到一个新的高度,而Python也提供了大量列表相关的内置方法来有效操作列表: 方法 描述 append 将单个对象添加至列表末尾 clear 删除列表中所有项目 copy 列表的浅拷贝,参见上篇文章<Python列表赋值,复制,深拷贝以及5种浅拷贝详解> count 统计指定对象在列表中出现的次数 extend 通过附加iter

  • Python实现爬虫设置代理IP和伪装成浏览器的方法分享

    1.python爬虫浏览器伪装 #导入urllib.request模块 import urllib.request #设置请求头 headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0") #创建一个opener opene

  • Python3通过chmod修改目录或文件权限的方法示例

    简单的介绍下linux文件权限 linux中,文件的权限分为"所有者.组.其他用户"三个角色,每个角色由3个bit位表示它的权限,3bit从左到右分别为读写执行三个权限,3bit的值范围为0~7.所以如果直接在linux执行chmod 777 xxx.sh代表,将xxx.sh文件赋予所有者.组.其他用户这三个角色对xxx.sh文件的读写执行权限. os的chmod python的os模块负责操作系统层面的操作.修改文件权限可以通过os的chmod方法来操作. os.chmod(path

  • Python3 搭建Qt5 环境的方法示例

    1.检查本机python 版本: 2.安装Qt5 执行如下指令: pip install PyQt5 -i https://pypi.douban.com/simple #在后面加上"-i https://pypi.douban.com/simple"表示使用豆瓣所提供的镜像 3.安装Qt5图形设计工具,指令如下: pip install PyQt5-tools -i https://pypi.douban.com/simple #工具包含(图形界面开发工具qt designer.翻译

  • MacBook m1芯片采用miniforge安装python3.9的方法示例

    因为m1芯片是arm版本的架构,以前在mac上的很多软件都是基于Intel架构的软件,apple开发了rossta2,可以在m1上运行intel架构的软件,但是性能会有损失 python的3.9版本已原生支持m1芯片,更多支持m1芯片的软件可以查看网址:https://isapplesiliconready.com/ 使用miniforge GitHub地址:https://github.com/conda-forge/miniforgeGitee 地址:https://gitee.com/ph

  • Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例

    非关系型图数据库Neo4j简介 Neo4j是现今最火爆的图数据.在2010年发布,产品的发展势头还算不错. 作为图数据库,Neo4j最大的特点是关系数据的存储. 图数据库除了能够像普通的数据库一样存储一行一行的数据之外,还可以很方便的看出存储数据之间的关系信息. 适合存储"修改较少,查询较多,没有超大节点"的图数据. 图数据库Neo4j应用场景 社交网络 根据用户与其他用户的关系为用户推荐新的朋友.例如,在QQ中给你推荐朋友的朋友 . 智能推荐引擎 通过分析用户有哪些朋友.用户朋友喜好

  • Java使用代理进行网络连接方法示例

    需求是这样的: 一.界面上要有这样几种代理类型可以选. 1.HTTP代理 2.Socks代理 3.不使用代理(直连) 4.使用浏览器设置(浏览器也是HTTP.Socks.直连三种). 可参考QQ登录设置里的代理能,其实跟qq的代理功能是一样的. 二.测试使用所填写的代理配置信息是否可连接 三.记录用户上次选择的代理配置,默认使用用户上次使用的代理配置进行网络连接. 程序运行环境是WindowsXP.Windows7.Windows8系统. 使用的技术为Java7,Swing,CXF. 难点: 1

  • Python实现合并同一个文件夹下所有PDF文件的方法示例

    本文实例讲述了Python实现合并同一个文件夹下所有PDF文件的方法.分享给大家供大家参考,具体如下: 一.需求说明 下载了网易云课堂的吴恩达免费的深度学习的pdf文档,但是每一节是一个pdf,我把这些PDF文档放在一个文件夹下,希望合并成一个PDF文件.于是写了一个python程序,很好的解决了这个问题. 二.数据形式 三.合并效果 四.python代码实现 # -*- coding:utf-8*- import sys reload(sys) sys.setdefaultencoding('

随机推荐