gpt4 book ai didi

python - 什么是对关键字搜索的结果总数进行数据挖掘的合适方法?

转载 作者:行者123 更新时间:2023-11-28 18:54:38 25 4
gpt4 key购买 nike

新手程序员和潜伏者,希望得到一些明智的建议。 :)

结合使用 Python、BeautifulSoup 和 Bing API,我能够通过以下代码找到我想要的内容:

import urllib2
from BeautifulSoup import BeautifulStoneSoup

Appid = #My Appid
query = #My query

soup = BeautifulStoneSoup(urllib2.urlopen("http://api.search.live.net/xml.aspx?Appid=" + Appid + "&query=" + query + "&sources=web"))
totalResults = soup.find('web:total').text

所以我想在几千个搜索词中执行此操作,并且想知道是否

  1. 执行此请求一千次将被视为攻击服务器,
  2. 我应该采取什么步骤来避免破坏所述服务器(什么是最佳实践?),以及
  3. 是否有更便宜的(数据)方式使用任何主要搜索引擎 API 来执行此操作?

获取所有数据只是为了每个关键字获取一个数字似乎不必要地昂贵,我想知道我是否遗漏了什么。

FWIW,在决定使用 Bing API 之前,我做了一些功课并尝试了 Google 搜索 API(已弃用)和 Yahoo 的 BOSS API(即将弃用并替换为付费服务)。我知道直接抓取页面被认为是糟糕的形式,所以我将继续直接抓取搜索引擎。

最佳答案

当我不得不进行大规模 URL 解析时,我可以想到三种方法。

  1. HTTP Pipelining (另一个片段 here )
  2. 对每个 IP 的服务器请求进行速率限制(即每个 IP 每秒只能发出 3 个请求)。可以在这里找到一些建议:How to limit rate of requests to web services in Python?
  3. 通过内部代理服务发出请求,使用 http_proxy 将所有请求重定向到所述服务。然后,该代理服务将遍历一组网络接口(interface)并发出限速请求。您可以使用 Twisted为此。

关于python - 什么是对关键字搜索的结果总数进行数据挖掘的合适方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5257288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com