这违背了谷歌的服务条款,也违背了
people_also_ask
包裹这个答案仅用于教育目的。
你问过
为什么?
fake_useragent
被阻止工作。它并没有被阻止工作,但
people_also_ask
包根本没有实现任何调用来利用
fake_useragent
方法。你不能只导入一个包,然后期望另一个包开始使用它。你必须手动使包协同工作。
要做到这一点,您必须对这两个包的工作原理有一些了解。看看
the source code
你会发现你可以很容易地让他们一起工作。只需在中替换常量标头
people_also_ask
其中一个由
fake_useragent
在您请求任何数据之前。
paa.google.HEADERS = {'User-Agent': ua.random} # replace the HEADER with a randomised HEADER from fake_useragent
questions = paa.get_related_questions(query, 14)
和
paa.google.HEADERS = {'User-Agent': ua.random} # replace the HEADER with a randomised HEADER from fake_useragent
answer = str(paa.get_answer(i)['response'])
注意:
并非所有用户代理都能工作。谷歌不会根据用户代理给出相关问题。这不是任何一方的错
fake_useragent
,或
people_also_ask package
。
为了在一定程度上缓解这个问题,请务必致电
ua.update()
你也可以使用
PR #122
属于
fake_useragents
只选择最新的用户代理的一个子集,这些代理更有可能工作,尽管您仍然会得到一些遗漏的查询。people_also_ask包没有绕过或绕过谷歌的这一限制是有原因的