您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Python的Google搜索网络抓取

使用Python的Google搜索网络抓取

您随时可以直接抓取Google搜索结果。为此,您可以使用https://google.com/search?q=<Query>将返回前10个搜索结果的URL 。

然后,您可以使用lxml为例分析页面。根据您的使用方式,您可以通过CSS选择器(.r a)或XPath选择器(//h3[@class="r"]/a查询结果节点树。

在某些情况下,生成的URL将重定向到Google。通常,它包含一个查询参数q,该参数将包含实际的请求URL。

使用lxml和请求的示例代码

from urllib.parse import urlencode, urlparse, parse_qs

from lxml.html import fromstring
from requests import get

raw = get("https://www.google.com/search?q=StackOverflow").text
page = fromstring(raw)

for result in page.cssselect(".r a"):
    url = result.get("href")
    if url.startswith("/url?"):
        url = parse_qs(urlparse(url).query)['q']
    print(url[0])

关于Google禁止您的IP的说明:根据我的经验,Google仅禁止您开始向Google发送搜索请求的垃圾邮件。如果Google认为您是机器人,则会以503回应。

python 2022/1/1 18:49:34 有385人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶