【Python爬虫笔记】伪装浏览器爬虫

【Python爬虫笔记】伪装浏览器爬虫

今天记录的是比较基础的python爬虫(版本:python3.6)中的伪装浏览器爬虫,其原理是通过header键值对的修改进而达到伪装浏览其访问网页的效果,下面以百度首页为例子。
浏览器输入www.baidu.com进入百度首页,按下F12进入开发者界面,转到下方图片指定的位置:
【Python爬虫笔记】伪装浏览器爬虫_第1张图片
可以看到下面有几个包,随便点击一个,找到Header中的Request Headers下的User-Agent,便是需要的关键信息。
【Python爬虫笔记】伪装浏览器爬虫_第2张图片
下面直接上代码:

#伪装浏览器爬虫
from urllib import request
import re

url = r"http://www.baidu.com/"
#构造请求头信息
header = {
     
    #电脑User-Agent
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36",
}
#创建自定义请求对象
#反爬虫机制1:判断用户是否是浏览器访问
#可以通过伪装浏览器进行访问
req = request.Request(url, headers=header)

response = request.urlopen(req).read().decode()

pat = r"(.*?)"   #通过正则表达式进行数据清洗
data = re.findall(pat, response)

print("网页title:",data[0])

运行便可以看到PC端运行的结果为:

网页title: 百度一下,你就知道

把header换成以下语句:

header = {
     
    #手机User-Agent
    "User-Agent": "Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-AL00 Build/HUAWEIBLA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/8.9 Mobile Safari/537.36"
}

运行结果为:

网页title: 百度一下

这是手机端的运行结果,从而便达到了伪装浏览器的效果。另外User-Agent的值并不唯一,可以网上查找不同的值。

你可能感兴趣的:(python,爬虫,搜索引擎,java爬虫程序,爬虫搜索,关键字搜索)