谷歌搜索 - Python

时间:2016-07-17 12:12:25

标签: python search-engine

我想从谷歌搜索引擎获得十大结果。我写道:

from google import search
for i in search('python', stop=10):
    print i

它返回10个以上的结果。获得前n个结果的正确方法是什么?当我将stop = 10更改为stop = 2时,它会返回完全相同的结果数。是否可以仅打印主域名(现在它打印来自同一域的多个链接(例如维基百科)以及它们是否位于第一个结果页面中的图像)?

2 个答案:

答案 0 :(得分:1)

您可以在此处使用googlescraper模块。

我们在所有网页上获得了多少网址?

print(sum(len(page['results']) for page in results))

谷歌通过我们的关键字找到了多少次点击(如第一页所示)?

print(results[0]['num_results_for_kw'])

您可以查看此链接以获取更多信息: Check this link

希望有所帮助;)

答案 1 :(得分:1)

从阅读the source code for search开始,看起来真实的行为是它返回完整结果的页面,直到它到达(或通过)stop。因此,如果结果的第一页上有14个链接,您将获得至少14个链接。

但是很容易枚举不到那个。这里的代码可以解决这个问题:

from __future__ import print_function
from itertools import islice

from google import search

for url in islice(search('python', stop=5), 0, 5):
    print(url)