import requests
def search(query, pages=4, rsz=8):
url = 'https://ajax.googleapis.com/ajax/services/search/web'
params = {
'v': 1.0, # Version
'q': query, # Query string
'rsz': rsz, # Result set size - max 8
}
for s in range(0, pages*rsz+1, rsz):
params['start'] = s
r = requests.get(url, params=params)
for result in r.json()['responseData']['results']:
yield result
最初2,3次尝试检索所有必需的页面,但在2,3次尝试之后,没有得到任何结果。返回“无”或[]。谷歌是不是几次尝试就屏蔽了我的IP?有什么解决办法吗?
最佳答案
我不确定这是否有效,但避免被不鼓励刮擦的网站阻止的唯一方法是在检索网页时使用代理。
请检查如何在代码中使用代理。
关于python - 如何使用Google API抓取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34663434/