提问人:Hack-R 提问时间:7/2/2017 最后编辑:Hack-R 更新时间:8/17/2022 访问量:316
如何扩大搜索结果的抓取规模(目前在 Python 中使用 requests 和 bs4)
How to scale up scraping of search results (currently using requests and bs4 in Python)
问:
我编写了一些 Python 代码来尝试构建搜索结果链接的数据库:requests
from bs4 import BeautifulSoup
import requests
import re
for i in range(0, 1000, 20):
url = "https://www.google.com/search?q=inurl%3Agedt.html&ie=utf-8&start=" + i.__str__() + "0&num=20"
page = requests.get(url)
if i == 0:
soup = BeautifulSoup(page.content)
else:
soup.append(BeautifulSoup(page.content))
links = soup.findAll("a")
clean_links = []
for link in soup.find_all("a",href=re.compile("(?<=/url\?q=)(htt.*://.*)")):
print(re.split(":(?=http)",link["href"].replace("/url?q=","")))
clean_links.append(re.split(":(?=http)", link["href"].replace("/url?q=", "")))
然而,在只获得了 40 个结果后,谷歌怀疑我是机器人并停止提供结果。这是他们的特权,但有没有(合法的)方法可以解决这个问题?
我可以在/中进行某种身份验证吗,如果是这样,是否有某种帐户可以让我向他们支付抓取所有 10-20,000 个结果的特权?requests
bs4
答: 暂无答案
评论