1.情景介绍在使用搜索引擎的时候,除非目的非常明确,我都会用鼠标中键连续在新选项卡中打开好几个页面,然后再逐一查看。本文编写Python脚本,使得这个过程自动化。也就是,给定搜索关键词进行百度搜索,挑出搜索结果的前5条,然后在浏览器中打开它们。
2.Python知识点WebBrowser、Requests、BeautifulSoup模块的基本操作。
3.概述首先梳理程序要执行的步骤。
4.从参数列表中获取关键词;进行百度搜索并下载搜索页面;得到前5个搜索结果的链接;在浏览器中打开这些连接。在开始编写代码之前,确保已经安装必需的库:webbrowser、requests、bs4。本文代码测试环境为Windows上的Python3.7.0。本文地址:https://www.jeddd.com/article/python-search-and-auto-open.html获取关键词要从参数列表中获取内容,要用到sys.argv。由于搜索的关键词可能由多个单词组成,因此要用空格连接它们成为一个长字符串。代码如下:
5.importsys,webbrowser,requests,bs4
从参数列表中获取关键词6.keywords‘%20’.join(sys.argv[1:])
TODO2:进行百度搜索并下载搜索页面TODO3:得到前5个搜索结果的链接TODO4:在浏览器中打开这些连接7.注意:%20是空格的URL编码。以上代码使用空格连接第2个(下标为1)到最后一个参数,并保存在变量keywords中。
8.下载搜索页面构造搜索URL百度搜索的URL格式为https://www.baidu.com/s?wd关键词,只需将其与keywords变量连接就好了。
9.伪装User-Agent百度会拒绝Pythonrequests库直接发起的请求,并返回一个跳转页面。因此我们必须将UA伪装成一个普通用户的浏览器,用下面这个Chrome的UA就可以了:
10.Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/68.0.3440.84Safari/537.36下载页面使用requests库,用上面伪装的UA向构造好的百度搜索URL发起get请求就可以下载得到搜索页面了。代码如下:
11.importsys,webbrowser,requests,bs4
从参数列表中获取关键词12.keywords‘%20’.join(sys.argv[1:])
进行百度搜索并下载搜索页面13.fakeua{“User-Agent”:“Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/68.0.3440.84Safari/537.36”}searchPagerequests.get(‘https://www.baidu.com/s?wd’+keywords,headersfakeua)searchPage.raise_for_status()#如果失败就抛出异常
TODO3:得到前5个搜索结果的链接TODO4:在浏览器中打开这些连接14.得到结果链接要用BeautifulSoup选择搜索页面上的结果链接,必须知道百度搜索结果链接的格式,这就要用到浏览器的开发者工具了。
15.用百度搜索任意内容,并在一条结果上点击右键并点击【检查】(不同浏览器略有不同,此处以Chrome为例),观察到百度搜索结果的链接都是
标签中的标签,而且标签均有一个名为t的类。16.你不需要知道t类是什么意思,只需要将它作为一个标记,查找我们需要的元素即可。
17.好的,现在我们知道了想要的链接位于t类内的标签,其href属性就是最后要打开的页面链接!
18.这部分的代码如下:
19.importsys,webbrowser,requests,bs4
从参数列表中获取关键词20.keywords‘%20’.join(sys.argv[1:])
进行百度搜索并下载搜索页面21.fakeua{“User-Agent”:“Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/68.0.3440.84Safari/537.36”}searchPagerequests.get(‘https://www.baidu.com/s?wd’+keywords,headersfakeua)searchPage.raise_for_status()#如果失败就抛出异常
得到前5个搜索结果的链接22.searchSoupbs4.BeautifulSoup(searchPage.text,features“html.parser”)elementssearchSoup.select(’.ta’)
TODO4:在浏览器中打开这些连接23.在浏览器中打开接下来要找到前5个搜索结果的链接,并在浏览器中打开它们。当然,如果你输入的关键词过于生僻,以至于搜索结果不到5个,那么就应该取搜索结果的数量。综上,要打开的页面数为5和结果总数的最小值。
24.在上一步中,我们已经找到了搜索结果的标签,而标签的href属性的值就是要打开的链接。(由于百度做了混淆,这并不是原始链接,不过没关系,会正常跳转的,不影响打开页面)
25.在一个循环中依次调用webbrowser的open方法即可在系统默认浏览器中打开这些链接。最终完整代码如下:
26.importsys,webbrowser,requests,bs4
从参数列表中获取关键词27.keywords‘%20’.join(sys.argv[1:])
进行百度搜索并下载搜索页面28.fakeua{“User-Agent”:“Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/68.0.3440.84Safari/537.36”}searchPagerequests.get(‘https://www.baidu.com/s?wd’+keywords,headersfakeua)searchPage.raise_for_status()#如果失败就抛出异常
得到前5个搜索结果的链接29.searchSoupbs4.BeautifulSoup(searchPage.text,features“html.parser”)elementssearchSoup.select(’.ta’)
在浏览器中打开这些连接30.foriinrange(min(5,len(elements))):webbrowser.open(elements[i].get(‘href’))本文地址:https://www.jeddd.com/article/python-search-and-auto-open.html代码测试将上述代码保存为search.py,然后打开命令行,执行:
31.pythonsearch.pylinuxgit该脚本以“linuxgit”为关键词在百度搜索,取得前5个搜索结果,然后在浏览器中打开它们。成功!
用Python进行百度搜索并自动打开前5个结果-王者荣耀聊天软件-王者荣耀小程序
浏览量:2426
时间:
来源:xuyan14
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。 -

零代码 + AI 双轮驱动|即速应用解锁人工智能小程序开发新范式
无需代码、无需 AI 算法功底,普通人也能快速搭建智能小程序。即速应用将人工智能与零代码开发深度融合,推出 AI 智能生成能力,用户通过自然语言描述需求,AI 自动生成小程序页面、功能模块与后台配置,覆盖商城、预约、同城、社区团购等全场景。平台内置 AI 智能推荐、智能客服、用户画像分析等能力,一键对接微信生态,打通视频号、企业微信、短信跳转,帮企业快速落地 AI 应用,抢占智慧经营先机,让每家企业都拥有 AI 驱动的智慧店铺。











