(已解决)关键词爬取百度搜索结果,返回百度安全验证,网络不给力,请稍后重试,无法请求到正确数据的问题

news/2024/7/19 11:18:39 标签: python, 爬虫, 百度, 安全验证, 反爬

已解决,使用关键词进行百度搜索,然后爬取搜索结果,请求数据后,返回的是百度安全验证,网络不给力,请稍后重试。无法请求到正确数据。且尝试在header中增加Accept参数还是不行。

一、问题产生的现象

     在学习过程中,写了一小段练习用的爬取程序,获取百度关键词搜索后的结果,代码如下:

python">import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.95 Safari/537.36',
}
url = 'https://www.baidu.com/s?wd=python'
reponse = requests.get(url, headers=headers, timeout=10)
reponse.encoding = reponse.apparent_encoding
content = reponse.text
print(content)

        运行后,打印出来的结果显示:   

 

     但是,我把这个url网址复制到浏览器打开时可以看到搜索结果的:

    


 二、问题解决过程

   1、看到网上有人说要在header中,增加一个accept参数,于是加了下:      

python">headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.95 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
}

     然后运行,哦哦,还是打印出来的是百度安全验证

  2、从这个错误来看,像是百度有反爬虫措施,需要验证才能获取它的数据。但我记得之前是可以的,难道现在不可以了么。

   于是看了之前的代码,发现我之前写的是http而不是https 于是修改下url:

python">url = 'http://www.baidu.com/s?wd=python'

   运行,哦,终于成功,不再是百度安全验证的信息了:

  3、试着将一开始加的accept参数删除,依然能够成功,说明还是这个url要使用http的问题。


三、最终解决方案

      将url中的https修改为http


http://www.niftyadmin.cn/n/246498.html

相关文章

四百左右音质好的蓝牙耳机有哪些?2023公认音质最好的蓝牙耳机排行

与有线耳机相比,蓝牙耳机有着功能多样、使用便捷的优点。最近看到很多人问,四百内音质好的蓝牙耳机有哪些?针对这个问题,我来给大家推荐几款音质最好的蓝牙耳机,一起来看看吧。 一、南卡小音舱Lite2蓝牙耳机 参考价&…

C语言小项目 -- 通讯录完整代码(登陆系统+动态开辟 + 文件操作)

目录 📰0. 项目介绍 📰1. 开发环境及框架 📰2. 通讯录账户模块功能分析实现: 📱2.1 通讯录账户菜单界面及数据结构设计 📱2.2 通讯录账户注册功能实现 📱2.3 通讯录账户登录功能实现 &am…

EMQX vs Mosquitto | 2023 MQTT Broker 对比

引言 物联网开发者需要为自己的物联网项目选择合适的 MQTT 消息产品或服务,从而构建可靠高效的基础数据层,保障上层物联网业务。目前市面上有很多开源的 MQTT 产品,在性能功能等方面各有优点。本文将选取目前最为流行的两个开源 MQTT Broker…

C/C++设计模式之道:选择与权衡

C/C设计模式之道:选择与权衡 第1章:引言(Introduction)设计模式的概念与应用C中的设计模式及其优势 第2章:需求分析与场景划分(Requirement Analysis and Scenarios)项目需求分析方法场景划分与…

气传导耳机和骨传导耳机的区别是啥?气传导耳机有哪些优缺点?

本文主要讲解一下气传导耳机和骨传导耳机的区别、气传导耳机的优缺点,并推荐一些目前主流的气传导耳机款式,大家可以根据自身需求,选择自己感兴趣的部分观看。 气传导耳机和骨传导耳机不同点: 气传导耳机和骨传导耳机最大且最根…

mmSegmentation安装和使用

安装步骤: 该部分引用自开始:安装和运行 MMSeg — MMSegmentation 1.0.0 文档 步骤 0. 从官方网站下载并安装 Miniconda 步骤 1. 创建一个 conda 环境,并激活 conda create --name openmmlab python3.8 -y conda activate openmmlab Step 2. …

java944医院医疗物资管理系统

本系统以医院业务流程为基础,结合考虑医疗物资的特点,主要包含物流信息管理系统中的后勤物资仓库管理、供应消毒物资管理、科室申请领用管理以及查询决策系统等功能。 目 录 1 1课题背景 2 2整体设计 2 2.1 设计目标 2 2.2 系统架构 3…

Spring Cloud微服务架构组件【Java培训】

SpringCloud是一系列框架的有序集合,为开发人员构建微服务架构提供了完整的解决方案。Spring Cloud根据分布式服务协调治理的需求成立了许多子项目,每个项目通过特定的组件去实现,下面我们讲解一下Spring Cloud 包含的常用组件以及模块。 (1…