当前位置: 首页 > news >正文

爬虫如何应对网站的反爬机制?如何查找user-agent对应的值

import requestsurl = 'https://movie.douban.com/top250'
response = requests.get(url)
# 查看结果
print(response)

在这里插入图片描述

  在requests使用一文中我们有讲到,当状态码不是200时表示爬虫不可用,也就是说我们获取不到网页源代码。但是我们还是可以挣扎一下,不是说不可用就放弃了。爬虫时经常会遇到有些网站有反爬机制,为了能够请求成功该如何操作?那当然是把我们伪装成浏览器了!

  那么如何把自己伪装成浏览器代替我们发送请求呢?pycharm有个字典Headers,我们需要在浏览器中找到键User-Agent对应的值

User-Agent:对应的值包含了浏览器、操作系统的各项信息。如果没有User-Agent,就相当于赤裸裸的去访问对方服务器,只要对方有反爬虫机制,就能发现你是爬虫。

在浏览器中打开想要爬取的网站,右键 --> 检查然后如下图操作:

在这里插入图片描述

  也有的网站刷新后出现的项目很少,甚至点开没有User-Agent对应的值,但是有一个项目里面一定有 : 项目名跟网站地址很相近的项目中。例如在本例中名为www.zhihu.com的项目里一定含有。

  在以贝壳租房为例,打开网页后,右键 --> 检查,在项目名为zufang中一定含有User-Agent对应的值

在这里插入图片描述

获取键user-agent对应的值后,我们把键与值写入字典Headers中

import requests# 1. 浏览器伪装
url = 'https://movie.douban.com/top250'
headers = {'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36'
}
# 获取响应结果
response = requests.get(url, headers=headers)
# 查看状态码
print(response.status_code)  # 200
# 获取网页源代码
# print(response.text)
http://www.lryc.cn/news/118368.html

相关文章:

  • 一个概率论例题引发的思考
  • 司徒理财:8.11黄金最新走势分析早盘1914现价多
  • 请写一个非对称加密工具 示例包括完整的通信流程
  • 近地面无人机植被定量遥感与生理参数反演技术
  • 卡巴斯基为基于Linux的嵌入式设备推出专用解决方案
  • Word转PDF工具哪家安全?推荐好用的文件格式转换工具
  • dma_mmap_coherent函数的使用
  • MySQL_DQL语句(查询语句以及常用函数)
  • 一步步教你实现JWT认证和授权
  • 【python 深度学习】解决遇到的问题
  • maxwell 基于zookeeper的高可用方案
  • 【JavaScript】match用法 | 正则匹配
  • 前端css + js +vue +element-ui 实现响应式布局,根据浏览器窗体大小自动响应
  • 小程序生成App:轻量低门槛的开发方式
  • Linux命名管道进程通信
  • 如何将苹果彻底删除视频找回?试试这3种方法
  • 【音视频、chatGpt】h5页面最小化后,再激活后视频停住问题的解决
  • [CSS] 图片九宫格
  • MChat-Gpt V1.0.0 (将ChatGpt机器人接入内网供全体使用)
  • 日常开发中Git命令指北
  • API 测试 | 了解 API 接口概念|电商平台 API 接口测试指南
  • 【计算机组成原理】24王道考研笔记——第三章 存储系统
  • 学习C语言的好处:
  • 基于k8s的devOps自动化运维平台架构设计(中英文版本)
  • P450进阶款无人机室内定位功能研测
  • 深度学习,计算机视觉任务
  • 使用 Docker 部署 canal 服务实现MySQL和ES实时同步
  • const易错详解
  • 网络安全—黑客技术【自学】
  • 作为数据产品经理的一天