三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)

这篇具有很好参考价值的文章主要介绍了三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在第一篇博文中也提及到User-Agent,表示请求载体的身份,也就是说明通过什么浏览器进行访问服务器的,这一点很重要。

① UA检测

门户网站服务器会检测请求载体的身份。如果检测到载体的身份表示为某一款浏览器的请求,则说明这是一个正常的请求;若检测到载体身份标识并不是基于任意一款浏览器,则说明这是一个非正常的请求也就是爬虫,服务器很有可能拒绝该请求!!!

② UA伪装

让爬虫对应的请求载体身份标识进行伪装成某一款浏览器

项目

项目概述:用户输入指定的关键词,之后通过百度搜索引擎查到的所有相关页面进行下载到本地

步骤:
① 打开百度,搜索任意关键字信息,查看地址栏信息
例如我这里搜索beyond,地址栏信息为https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=beyond&oq=%25E9%25BB%2584%25E5%25AE%25B6%25E9%25A9%25B9&rsv_pq=86cafe360003cde6&rsv_t=6497SlvSbubKeEQiJKGnLL%2BCucYyWr9OJTHOTd0x%2Bbx0%2BViW%2FN75Q0avW1M&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_sug3=6&rsv_sug1=4&rsv_sug7=100&rsv_sug2=0&rsv_btype=t&inputT=964&rsv_sug4=965
三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)
实则有用信息仅为https://www.baidu.com/s?wd=beyond,你也可以单独输入该网址仍可接收到服务器反馈的相同页面结果信息。(同理其他的搜索引擎也都类似)其中beyond为可变参数,遇到可变参数需要把其放入到字典中去
三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)
三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)
②整理完url之后,我们需要获取某个浏览器载体身份认证信息,这里以Chrome为例,随便打开一个网站(例如https://www.baidu.com/s?wd=beyond),F12打开开发者工具,F5重新向服务器发出请求,Network下Name随便找一个点进入,就可以找到User-Agent信息,例如我的是这个User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36,该信息就是Chrome浏览器的唯一身份认证标识
三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)
③在get方法中,传入User-Agent和用户输入的关键字信息即可(均为字典形式)

完整代码

import requests

if __name__ == '__main__':
    #UA伪装,获取某个浏览器的User-Agent唯一载体身份标识
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
    }
    #指定url
    url = 'https://www.baidu.com/s?'#https://www.baidu.com/s?word=%E9%BB%84%E5%AE%B6%E9%A9%B9
    #处理url携带的参数,将参数封装到字典中
    keyword = input("please input a word:")
    param = {
        'wd':keyword
    }
    #对指定的url发起请求,对应的url是携带参数的,并且请求过程中已经处理了参数
    response = requests.get(url=url,params=param,headers=headers)#若不传入headers这个User-Agent信息,运行程序之后,服务器并不会给这个响应返回数据信息。这说明百度搜索引擎中采用了UA检测反爬虫机制
    
    #获取响应
    page = response.text
    filename = keyword+".html"
    #持久化存储
    with open('E:/Jupyter_workspace/study/python/'+filename,'w',encoding='utf-8') as fp:#将服务器返回的页面信息存储到本地指定路径
        fp.write(page)
    print(filename,"保存成功")

运行效果如下:
三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)
三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)
三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)文章来源地址https://www.toymoban.com/news/detail-405000.html

到了这里,关于三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用爬虫爬取百度搜索结果及各网站正文(request库、selenium库和beautifulsoup库)

    任务: 给定搜索词,获取百度搜索结果 根据各项结果获取对应网站正文部分 header实际为一个字典,为访问百度时提供必要的信息。 一般来讲只需要提供 Cookie 就可以访问大多数网站,其余可能需要的还有 Host 、 User-Agent 等 通过分析百度搜索url可以发现 https://www.baidu.com/s?wd=茅

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

    已解决,使用进行百度搜索,然后爬取搜索结果,请求数据后,返回的是百度安全验证,网络不给力,请稍后重试。无法请求到正确数据。且尝试在header中增加Accept参数还是不行。      在学习过程中,写了一小段练习用的爬取程序,获取百度搜索后的结果,代

    2024年02月08日
    浏览(66)
  • 【经验分享】在百度搜索引擎中的结果中,过滤指定的网站

    系统版本:Windows 10 描述:在搜索引擎中想在结果中过滤一些指定网站,快速找到有价值的内容。 视频教程: 文字教程: 1.进入百度搜索引擎,bing搜索引擎貌似不可以。 www.baidu.com 2.搜索内容如:锐捷无线AC基础命令 -csdn,“-”这个符号是减号,0旁边那个,或者小键盘的减

    2024年02月03日
    浏览(61)
  • (已解决)关键词爬取百度搜索结果,返回百度安全验证,网络不给力,请稍后重试,无法请求到正确数据的问题(2023最新)

    已解决,使用进行百度搜索,然后爬取搜索结果,请求数据后,返回的是百度安全验证,网络不给力,请稍后重试。无法请求到正确数据。且尝试在header中增加Accept参数还是不行。      在学习过程中,写了一小段练习用的爬取程序,获取百度搜索后的结果,代

    2024年02月17日
    浏览(43)
  • 百度百科词条怎么更新?怎么能顺利更新百科词条?

    企业和个人百度百科词条的更新对于他们来说都具有重要的意义,具体如下: 对企业来说: 塑造品牌形象:百度百科是一个常被用户信任并参考的知识平台,通过更新企业词条可以提供准确、全面的企业信息,帮助企业塑造积极的品牌形象。 增加曝光和知名度:百度百科在

    2024年02月10日
    浏览(45)
  • 如何给自己创建个人百度百科词条,人物百科词条审核通过技巧

    想要让自己在百度上能够搜索得到,一般都需要给自己创建一个个人百度百科词条,但很多人发觉自己创建人物百度百科词条怎么审核也审核不过,其实主要还是百科词条文案和个人百科词条参考资料的问题。下面洛希爱做百科网分享如何给自己创建个人百度百科词条,人物

    2023年04月20日
    浏览(51)
  • 【爬虫实战】用python爬取微博任意关键词搜索结果、exe文件

    项目功能简介: 1.交互式配置; 2.两种任意来源(直接输入、本地文件); 3.自动翻页(无限爬取); 4.指定最大翻页页码; 5.数据保存到csv文件; 6.程序支持打包成exe文件; 7.项目操作说明文档; 一.最终效果 视频演示: 用python爬取微博搜索结果、exe文件

    2024年02月02日
    浏览(70)
  • 维基百科、百度百科和搜狗百科词条的创建流程

    随着网络的发展,百度百科、搜狗百科、维基百科等百科网站已经成为大众获取知识的重要途径。因为百科具有得天独厚的平台优势,百科上的信息可信度高,权威性强。所以百科平台也成为商家的必争之地。这里小马识途聊聊如何创建百度百科、搜狗百科和维基百科词条。

    2024年04月27日
    浏览(44)
  • 小马识途分享百度百科收录词条的规则

    百度百科词条是人人都可以编辑的,并且都是免费创建,但是自己创建百科词条往往审核不通过,一般企业会把这项任务委托给有经验的营销团队。这里小马识途营销顾问分享一下百度百科收录词条的规则。 百度百科收录规则主要分为:规范词条名、客观真实、来源可查证、

    2024年02月16日
    浏览(42)
  • Puppeteer 使用教程-实战篇(爬取图片、视频、音频,页面数据)

    目录 前言 一、 获取实体店铺信息 二、 获取全国各省市县地图json数据 三、 cookies 四、 获取网络图片、视频资源 五、 自动化测试 总结         续上篇,我们简单讲述一下puppeteer常见的应用场景,包括静态页面数据获取,网络请求获取截取、图片、视频资源下载、自动化

    2024年02月06日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包