2016-07-17 111 views
0

我想从谷歌搜索引擎获得前十的结果。我写道:谷歌搜索 - 蟒蛇

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

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

回答

1

您可以在这里使用googlescraper模块。

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

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

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

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

你可以看看这个链接获取更多信息: Check this link

希望它帮助;)

+0

我读过它,但它是一个Python 3.4和更新的模块。我使用2.7 ... – jundymek

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)