1

我进入了一个处理网页 HTML 解析的项目。所以,我拿起我的博客(Bloggers Blog - Dynamic Template)并尝试阅读它的内容。不幸的是,我没有查看博客网页的“实际”来源。

这是我观察到的:

  1. 我点击view source了我博客的一篇随机文章,并试图找到其中的内容。我找不到任何东西。都是 JavaScript。

  2. 所以,我把网页保存到我的笔记本电脑上并再次检查了来源,这次我找到了内容。

  3. 我还检查了developers tools在浏览器中使用的源代码,并再次找到了其中的内容。

  4. 现在,我尝试了python方式

    import urllib
    from bs4 import BeautifulSoup
    
    soup = BeautifulSoup( urllib.urlopen("my-webpage-address") )
    print soup.prettify()
    

    我什至没有在其中找到 HTML 代码中的内容。

最后,为什么我在case1、4中找不到源代码中的内容。

我应该如何获得实际的 HTML 代码?我希望听到任何可以完成这项工作的 python 库。

4

1 回答 1

1

内容通过 JavaScript (AJAX) 加载。它不在“源”中。

在第 2 步中,您将保存结果页面,而不是原始源。在第 3 步中,您将看到浏览器正在呈现的内容。

第 1 步和第 4 步“不起作用”,因为您正在获取页面的源(不包含内容)。您需要实际运行 JavaScript,这对于屏幕抓取工具来说并不容易。

于 2012-06-12T15:31:25.987 回答