当前位置: 首页 > 编程笔记 >

Python3 伪装浏览器的方法示例

马国源
2023-03-14
本文向大家介绍Python3 伪装浏览器的方法示例,包括了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代码链接

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

 类似资料:
  • 18.1 网站常见的反爬虫和应对方法 一般网站从三个方面反爬虫:用户请求的Headers,用户行为,网站目录和数据加载方式。 前两种比较容易遇到,大多数网站都从这些角度来反爬虫。第三种一些应用ajax的网站会采用,这样增大了爬取的难度。 ① 通过Headers反爬虫 从用户请求的Headers反爬虫是最常见的反爬虫策略。 很多网站都会对Headers的User-Agent进行检测,还有一部分网站会

  • 本文向大家介绍Python反爬虫伪装浏览器进行爬虫,包括了Python反爬虫伪装浏览器进行爬虫的使用技巧和注意事项,需要的朋友参考一下 对于爬虫中部分网站设置了请求次数过多后会封杀ip,现在模拟浏览器进行爬虫,也就是说让服务器认识到访问他的是真正的浏览器而不是机器操作 简单的直接添加请求头,将浏览器的信息在请求数据时传入: 打开浏览器--打开开发者模式--请求任意网站 如下图:找到请求的的名字,打

  • 本文向大家介绍PHP实现浏览器格式化显示XML的方法示例,包括了PHP实现浏览器格式化显示XML的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现浏览器格式化显示XML的方法。分享给大家供大家参考,具体如下: 在头部加上 刚开始加上了发现还是不行。最近一直尝试最后终于找到解决办法。在代码最后加上exit;就可以了 终于显示了,很爽 PS:这里再为大家提供几款关于xml操作

  • 本文向大家介绍Android 使用PDF.js浏览pdf的方法示例,包括了Android 使用PDF.js浏览pdf的方法示例的使用技巧和注意事项,需要的朋友参考一下 Android的WebView做不到ios的WebView那样可以很方便的直接预览pdf文件。要实现利用WebView预览pdf我们可以使用谷歌文档服务: 这种方式国内网络环境是不用考虑的。当然也有替代的方案:我们可以使用mozil

  • 本文向大家介绍js判断浏览器版本以及浏览器内核的方法,包括了js判断浏览器版本以及浏览器内核的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js判断浏览器版本以及浏览器内核的方法。分享给大家供大家参考。具体实现方法如下: js判断是否移动端及浏览器内核 代码二 希望本文所述对大家的javascript程序设计有所帮助。

  • 本文向大家介绍js操作浏览器的参数方法,包括了js操作浏览器的参数方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上这篇js操作浏览器的参数方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。