从requests.get()获取所有HTML

时间:2016-09-07 21:59:30

标签: python html python-requests

我刚刚开始使用Python进行网页抓取并且已经碰壁了。 我正在使用请求库从网站获取HTML代码。例如,Google搜索结果网站:“https://www.google.com/?gws_rd=ssl#q=ball

当我点击 F12 并检查HTML时,它看起来与以下不同:

site = requests.get("https://www.google.com/?gws_rd=ssl#q=ball")
print(site.text)

requests.get,文字要短得多,而且并非所有信息都可见(但是以!doctype开头)。 因此,我无法使用此HTML。

你能告诉我错误在哪里吗?

这实际上是“使用Python自动化无聊的东西”一书中的练习。任务是搜索某些项目Google,然后使用HTML定位器找到一些初步结果。我不能这样做,因为当我使用requests.get()时,我无法在HTML代码中看到任何链接对象。

2 个答案:

答案 0 :(得分:1)

您使用浏览器开发工具看到的HTML是浏览器当前使用的内容。这包括通过Javascript执行的任何更改。使用请求时获得的数据是在页面上运行任何Javascript之前。 (请注意,请求不会处理Javascript,因此您将无法仅使用请求获取经过javascript处理的页面。)

如果您特意想要抓取Google搜索,请使用https://www.google.com/search?q=test之类的网址。此特定网址适用于Google的非JavaScript网站。请注意,Google(以及大多数其他网站)并不感兴趣,因此您可能会遇到其他问题。

答案 1 :(得分:0)

一些HTML元素是由JavaScript生成的。

使用"显示源代码"从您的浏览器中查看原始代码。它必须类似于Request响应文本。