• 0
  • 0
分享
  • 如何使用Python爬取Google搜索结果中的URL——软件测试圈
  • quinn 2024-08-06 17:04:58 字数 1661 阅读 232 收藏 0

  当我们需要在互联网上搜索一些信息时,往往会选择使用搜索引擎来获取更加准确和丰富的信息。Google搜索引擎是全球最大的搜索引擎之一,拥有着极其庞大的数据库和算法,可以根据关键词搜索出大量的相关信息。但是,当我们需要采集搜索结果中的URL时,手动复制粘贴会非常繁琐。因此,本文将介绍如何使用Python编写爬虫程序,自动爬取Google搜索结果中的URL。注意:谷歌爬取是要代理。

  前置条件

  在开始编写爬虫程序之前,需要确保已经安装了Python编程环境和一些必要的Python库,比如requests、re等。可以使用pip命令来安装这些库。

  爬虫程序的实现

  首先,我们需要设置请求头信息和搜索关键词。在实际爬取时,应该将搜索关键词替换为需要搜索的具体内容。

  import requests
  import re

  设置headers

  headers = {
  'User-Agent': '********'}

  设置搜索关键词  这里建议采用谷歌语法查询

  keyword = "***"

  接着,我们使用requests库发送HTTP GET请求,获取Google搜索结果的HTML页面。由于Google搜索的结果通常会分为多个页面,因此我们需要对每一页的结果进行爬取。这里我们以每页显示10个结果为例,共爬取10页的搜索结果。在爬取过程中,我们使用正则表达式匹配出HTML页面中所有的URL链接。

  爬取搜索引擎的结果

  urls = []
  for page in range(0, 101, 10):
  url = "www.google.com/search?q={}…, page)
  r = requests.get(url, headers=headers)
  # 使用正则表达式匹配所有url
  urls += re.findall('href="(https?://.*?)"', r.text)

  最后,我们将爬取到的所有URL链接进行去重,并将结果保存到本地文件中。这样就完成了整个爬虫程序的实现。

  去重

  urls = list(set(urls))

  将url保存到文件

  with open('urls.txt', 'w') as f:
  for url in urls:
  f.write(url + '\n')

  代码汇总

  import requests
  import re
  # 设置headers
  headers = {
      'User-Agent': '****'}
  # 设置搜索关键词 
  keyword = "***"
  # 爬取搜索引擎的结果
  urls = []
  for page in range(0, 101, 10):
      url = "https://www.google.com/search?q={}&start={}".format(keyword, page)
      r = requests.get(url, headers=headers)
      # 使用正则表达式匹配所有url
      urls += re.findall('href="(https?://.*?)"', r.text)
  # 去重
  urls = list(set(urls))
  # 将url保存到文件
  with open('urls.txt', 'w') as f:
      for url in urls:
          f.write(url + '\n')

  总结

  本文介绍了如何使用Python编写爬虫程序,自动爬取Google搜索结果中的URL。通过这种方法,我们可以快速地采集大量的URL链接,为后续的数据分析和挖掘提供更加丰富的数据来源。在实际爬取时,还需要注意一些反爬虫措施。


作者:mss    

来源:http://www.51testing.com/html/02/n-7795902.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言作为一名曾在京东做过软测岗面试官的人,笔者将从面试技巧以及软件测试面试题层面,分享出自己在面试的时候最常问的那些问题及面试官希望听到的回答!面试技巧篇一、仪表整洁二、要谦虚,保持空杯心态三、放松心态,用和朋友聊天的方式面试,成功的几率会大大增加面试题及答案篇一、简述负载测试与压力测试的区别压力测试(Stress Testing)压力测试的主要任务就是获取系统正确运行的极限,检查系统在瞬间峰值负荷下正确执行的能力。例如,对服务器做压力测试时就可以增加并发操作的用户数量;或者不停地向服务器发送请求;或一次性向服务器发送特别大的数据等。看看服务器保持正常运行所能达到的最大状态。人们通常使用测试工...
            0 0 1272
            分享
          •   关于新人如何做好功能测试,以下是我个人的一些思考。  测试基础的重要性  作为一名测试新人,测试基础非常非常重要。这里说的基础,不仅仅是什么是软件测试、软件测试的目的,而是测试用例的设计能力。  因工作的原因,近来接触不少毕业3、4年,甚至7、8年的测试同学,对用例设计还是停留在理论阶段,这让人不免有些无力吐槽。  Q:软件测试用例的测试方法有哪些?  回答:等价类、边界值、因果图等等。  Q:结合实际的业务场景,来说说常用到的测试用例设计的方法。  回答:不少回复都是以登录来做说明的。  其实日常工作中,常用到的用例设计也就那么几种,如果我们能把理论好好应用到实际工作中,那么涨薪其实也很...
            0 0 1133
            分享
          •   近日有网友在发布视频称“在车内和司机聊收入被滴滴弹窗提醒”,对此,滴滴出行进行了官方回应。  滴滴称,经过与司乘双方沟通核实,以及对系统后台仔细排查后证实,网上相关传闻均为谣言。在该行程中,滴滴 App 并未出现所谓的弹窗提醒,更未就司乘交流内容有任何语音播报或提醒。目前该谣言的原发作者已删除不实内容。  滴滴还表示,车内录音录像会识别司机是否分心驾驶、疲劳驾驶,也会针对一些违法犯罪风险进行系统识别。同时,系统会不定时提醒司机和乘客不要泄露个人联系方式,呼吁司乘保护好账户信息等个人隐私,谨防诈骗。但绝不存在视频博主编造称“车内司乘聊收入会被滴滴弹窗提醒”等情况。  滴滴补充道,公司意识到滴...
            0 0 909
            分享
          • Monkey介绍通过Monkey程序模拟用户触摸屏幕,滑动Trackball,按键等操作来对设备上的程序进行压力测试,检测程序错就的时间会发生异常Monkey用来做什么Monkey主要用于Android的压力测试,自动的一个压力测试小工具,主要目的就是为了测试app是否会Crash(崩溃)Monkey程序介绍(1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar(2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文...
            13 13 3701
            分享
          • 读者提问:阿常老师,请问如何评价测试质量 ?阿常回答:评估测试质量,最直接的体现是线上问题发生率,间接的体现可以是测试用例质量,常见问题知识库。一、线上问题发生率评估测试质量,最直观的就是看本次迭代版本是否存在线上问题,线上问题数量有多少,线上问题的严重程度,线上问题的影响范围。二、测试用例的质量除了线上问题发生率,测试用例的质量也可以反映测试质量的高低。测试用例的质量主要体现在用例的需求覆盖度,用例覆盖到了多少业务场景。测试用例包括本次迭代的手工用例,以及测试组现有的自动化测试用例。三、常见问题知识库为什么要整理常见问题知识库 ?当我们明白了哪些是会高频发生的问题以后,在今后的测试...
            0 0 1496
            分享
      • 51testing软件测试圈微信