python 爬虫 伪装浏览器_python3的爬虫笔记2——伪装浏览器

有些网站会检查你是不是真的浏览器访问,还是机器自动访问的。这种情况,加上User-Agent,表明你是浏览器访问即可。服务器会识别headers中的referer是不是它自己,如果不是,有的服务器不会响应,所以我们还可以在headers中加入referer。以谷歌浏览器的开发者工具为例(右键检查或Ctrl+Shift+I),刷新页面,在Network模块中我们点开左边name中项目,可以看到一些信息,其中我们就可以看到Referer和User-Agent的信息,把它们复制下。

chrome开发者工具.png

伪装的格式为:

# 伪装成浏览器访问,适用于拒绝爬虫的网站

headers = {'User-Agent':'XXXXX'}

#或者

headers = {'Referer':'XXXXX'}

#一般是字典格式,最好将User-Agent和Referer的信息都加上

headers = {'User-Agent':'XXXXX', 'Referer':'XXXXX'}

(1)方法一使用requests模块

import requests

url = 'http://www.baidu.com'

#添加头部,伪装浏览器,字典格式

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.103 Safari/537.36'}

#增加headers参数

response = requests.get(url=url, headers=headers)

response.encoding = 'utf-8'

html = response.text

print(html)

(2)方法二使用urllib模块

import urllib.request

url = 'http://www.baidu.com'

#添加头部,伪装浏览器

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.103 Safari/537.36'}

#Request类的实例,构造时需要传入Url,Data,headers等等的内容

resquest = urllib.request.Request(url=url, headers=headers)

response = urllib.request.urlopen(resquest).read()

html = response.decode('utf-8')

print(html)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值