You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python循环执行多次Google搜索并抓取首个返回结果

from requests_html import HTMLSession

s = HTMLSession()
companies = ['ABC', 'ACME', 'XYZ']
profile_links = []
# 请求头统一抽出来复用
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'}

for company in companies:
    # 遍历每个公司动态生成搜索url
    search_url = f'https://www.google.com/search?q=%28%22jobtitle1%22+OR+%22jobtitle2%22+OR+%22jobtitle3%22+OR+%22jobtitle4%22%29+AND+%22{company}%22+AND+%28Location1+OR+Location2+OR+Location3%29'
    r = s.get(search_url, headers=headers)
    # 查找所有含linkedin的a标签,不直接取索引避免报错
    linkedin_links = r.html.find('a', containing='linkedin')
    if linkedin_links:
        # 取首个符合要求的结果,提取href属性
        first_link = linkedin_links[0].attrs.get('href', '')
        if first_link:
            profile_links.append(first_link)

# 所有查询完成后统一打印结果
print("收集到的链接:", profile_links)

主要改动点

  • 遍历逻辑调整:把遍历对象从字符串search改成了companies列表,每次循环传入单个公司名称拼接搜索url,实现批量查询
  • 异常兼容:查找含linkedin的链接时先获取全部匹配结果,判断存在才取第一个,避免没有匹配结果时直接取索引[0]抛出报错
  • 逻辑修正:调整了append的操作方向,是把获取到的链接追加到结果列表profile_links中,同时提取a标签的href属性作为有效链接存入
  • 拼写修正:修复了原搜索条件中Loction3的拼写错误为Location3
  • 输出逻辑调整:把打印操作移到循环外,全部查询完成后统一输出最终结果,避免重复打印中间内容

内容的提问来源于stack exchange,提问作者David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:45:03