我想编写一个Python脚本,它将提取连续谷歌搜索的前三个链接的标题和URL。例如,我希望能够通过 Google 搜索“3 英里跑”、“4 英里跑”和“5 英里跑”,并从中获取前三个链接。
我尝试修改我在此处找到的一些代码,这些代码允许您打印用户输入的一项 Google 搜索的顶部结果。
我将整个 block 放入 for 循环中,并使查询成为随 x 增加的特定搜索。
import urllib
import json as m_json
for x in range(3, 5):
query = 'x mile run'
query = urllib.urlencode ( { 'q' : query } )
response = urllib.urlopen ( 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&' + query ).read()
json = m_json.loads ( response )
results = json [ 'responseData' ] [ 'results' ]
for result in results:
title = result['title']
url = result['url'] # was URL in the original and that threw a name error exception
print ( title + '; ' + url )
不过,我不断收到意外的缩进错误,我想知道是否有人可以提供帮助。
最佳答案
缩进错误仅由缩进问题引起。
这似乎很明显,但检查你的代码是否有,比如用于缩进的制表符和空格的混合。您的编辑器可能会显示 4 倍的空格,其大小与一个选项卡相同。但Python并不这样看。
在 Vi(或 Vim)编辑器中,用空格替换制表符的命令是:
:1,$s/[CTRL-v][TAB]/ /g
如果失败,您可以手动删除并替换它们。使用空格或制表符,但我建议使用空格。
复制并粘贴您的代码,它对我有用,因此将其放在这里的行为可能已经标准化了空格和制表符的混合。
关于Python 脚本,运行迭代谷歌搜索并打印热门结果和链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35023259/