爬虫模拟用户请求讲解

robots协议
一些网站有着robots协议,规定着哪些内容爬虫不可以爬取,以亚马逊为例:在这里插入图片描述

当然爬不爬取取决于爬虫本身
首先,我们要找到一个合适的请求头,举个例:"python-requests/2.22.0"这是爬虫的"Uesr-Agent",用这个可能会被部分网站拦截,或者爬取不到想要的东西,这时就要模拟headers

查看请求头的方法(以谷歌浏览器为例):
点击右键,找到审查元素
在这里插入图片描述
找到Network,随便点一个Path,再点headers,就看到请求头了在这里插入图片描述

用爬虫模拟用户请求

import requests
 
url = "https://www.amazon.cn/"
 

header = {
'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
'Connection': 'keep-alive',
'Content-Type': 'text/plain;charset=UTF-8',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 Edg/88.0.705.56',}

print(requests.get(url,headers=header).content.decode()[:5000])

在这里插入图片描述
有这么多内容

我们把请求头换成爬虫试试

import requests
 
url = "https://www.amazon.cn/"
 
def head():
    header = {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
        'Accept-Language': 'zh-cn',
        'Connection': 'keep-alive',
        'Host': 'www.amazon.cn/',
        'Referer': 'https://www.baidu.com/',#表示从哪进入此网,这里表示从百度进入
        'User-Agent':'python-requests/2.22.0'}  #把请求头换成爬虫
    return header
 
 
header = head()

print(requests.get(url,headers=header).content.decode()[:5000])

在这里插入图片描述
只获得了这一行字

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值