使用Python进行高级Google搜索

时间:2018-05-06 20:55:19

标签: python

我正在尝试创建一个带有三个答案选项的问题的程序。我想让它对问题进行谷歌搜索,并搜索结果以获得答案选项,并查看哪一个出现最多。我想通过谷歌搜索问题和答案以及查看返回最多结果的内容,使其更加准确。有谁知道如何做到这一点?我知道还有另一个问题可以回答类似的问题来获取搜索结果提供的URL,但我想从搜索中获得结果的数量。

1 个答案:

答案 0 :(得分:0)

我没有时间对此进行实际测试,但请试一试:

from bs4 import BeautifulSoup
import requests

def getNumberOfResults(searchTerm):
    response = requests.get("https://www.google.com/search?q=" + searchTerm).content
    soup = BeautifulSoup(response, 'html.parser')
    result = int(str(soup.find("div", {"id": "resultStats"})).split()[3].replace(",", ""))
    return result

导入必须单独安装,因为它们不是python标准库的一部分。你可以用pip做到这一点。如果您不知道如何使用pip,请查看here.

获得每个结果后,您可以比较数字以查看哪一个最大。

要获得每个文本的内容,就像您在下面的评论中提到的那样,您可以:

def getResultText(searchTerm):
    response = requests.get("https://www.google.com/search?q=" + searchTerm).content
    soup = BeautifulSoup(response, 'html.parser')
    mydivs = soup.findAll("span", {"class": "st"})
    results = []
    for elem in mydivs:
        results.append(str(elem))
    return results

这将返回谷歌显示的所有预览文本的列表。它内部仍然有html元素,但你应该能够查看它的关键字。