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

如何基于函数变量实现for/while循环获取500条搜索URL?

批量获取Google搜索URL的循环实现方案

直接用for循环就能搞定,思路就是分5次请求(500/100=5),每次把start参数设为当前循环次数乘100,再把每次返回的URL列表合并到总列表里。下面是具体代码:

from yagooglesearch import SearchClient

# 配置参数
search_query = "你的搜索关键词"  # 替换成实际要搜索的内容
per_page = 100
total_target = 500
all_urls = []

# 计算需要循环的次数,这里是5次
loop_times = total_target // per_page

for i in range(loop_times):
    start_index = i * per_page
    # 初始化搜索客户端,设置起始位置和单次获取数量
    client = SearchClient(search_query, start=start_index, num=per_page)
    # 获取当前批次的URL列表
    current_urls = client.search()
    # 合并到总列表中
    all_urls.extend(current_urls)
    
    # 提前终止:如果当前批次返回结果不足100条,说明已无更多结果
    if len(current_urls) < per_page:
        break

# 确保总数量不超过目标值(避免实际结果多于500条的情况)
all_urls = all_urls[:total_target]

print(f"总共获取到 {len(all_urls)} 条URL")

关键说明

  • loop_times通过总目标数除以单次获取数得到,刚好覆盖start=0、100、200、300、400这几个起始位置。
  • 每次循环用i * per_page计算start参数,保证每次从下一页开始抓取。
  • 加入结果数量判断,一旦某次返回的URL不足100条,直接跳出循环,避免无效请求。
  • 最后用切片[:total_target]确保总列表长度不超过目标值,处理意外超量的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:50:26