我正处于一个项目,我处理解析网页的HTML。所以,我拿了我的blog(博客博客 - 动态模板)并尝试阅读它的内容。不幸的是,我没有看到博客网页的“实际”来源。
这是我观察到的:
我在博客的随机文章中点击了view source
,并试图找到其中的内容。我找不到任何东西。这都是JavaScript。
因此,我将网页保存到我的笔记本电脑并再次检查了来源,这次我找到了内容。
我还在浏览器中使用developers tools
检查了来源,并再次在其中找到了内容。
现在,我尝试了python方式
import urllib
from bs4 import BeautifulSoup
soup = BeautifulSoup( urllib.urlopen("my-webpage-address") )
print soup.prettify()
我甚至没有在HTML代码中找到内容。
最后,为什么我无法在case1,4中找到源代码中的内容。
我应该如何获得实际的HTML代码?我希望听到任何能够完成这项任务的python库。
答案 0 :(得分:1)
内容通过JavaScript(AJAX)加载。它不在“来源”中。
在第2步中,您要保存结果页面,而不是原始来源。在第3步中,您将看到浏览器正在呈现的内容。
步骤1和4“不起作用”,因为您正在获取页面的源(不包含内容)。您需要实际运行JavaScript,这对于屏幕抓取工具来说并不容易。