我刚刚开始使用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代码中看到任何链接对象。
答案 0 :(得分:1)
您使用浏览器开发工具看到的HTML是浏览器当前使用的内容。这包括通过Javascript执行的任何更改。使用请求时获得的数据是在页面上运行任何Javascript之前。 (请注意,请求不会处理Javascript,因此您将无法仅使用请求获取经过javascript处理的页面。)
如果您特意想要抓取Google搜索,请使用https://www.google.com/search?q=test之类的网址。此特定网址适用于Google的非JavaScript网站。请注意,Google(以及大多数其他网站)并不感兴趣,因此您可能会遇到其他问题。
答案 1 :(得分:0)
一些HTML元素是由JavaScript生成的。
使用"显示源代码"从您的浏览器中查看原始代码。它必须类似于Request响应文本。