requests.get() 不返回网页的正确 HTML 代码



我正在尝试使用请求和BeautifulSoup模块用Python编写一个脚本,这些模块将接受域名作为输入并打印出结果数量(例如"About 292 results"(。这是我代码的一部分:

def get_pages(domain):
param = {'q' : "site:%s" %(domain)}
url = "https://www.google.com/search"
r = requests.get(url, params = param)
h = BeautifulSoup(r.content, 'html.parser')
print(h.prettify())

问题是输出的html代码没有包含我需要的所有信息。然而,当我在浏览器中键入完全相同的url时,浏览器页面就会有它。requests.get((函数没有返回网页实际包含的所有信息是什么原因?有办法解决这个问题吗?有没有其他方法可以获得谷歌显示的结果页面数量?附言:我为我不完美的英语感到抱歉,因为它不是我的母语。

手动搜索和使用requests时无法获得相同信息的原因是,在后一种情况下,您请求的页面知道它是发送请求的机器。你可能可以通过使用所谓的无头驱动程序来解决这个问题。这篇文章通过了一个简单的例子,看起来很像你想要实现的目标。

最新更新