Web抓取具有动态javascript内容的网站

发布于 2021-01-29 18:08:01

因此,我正在使用python和beautifulsoup4(我不受其约束)来抓取网站。问题是当我使用urlib抓取页面的html时,它不是整个页面,因为其中一些是通过javascript生成的。有什么办法可以解决这个问题?

关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    基本上有两个主要选项可以继续:

    • 使用浏览器开发人员工具,查看哪些ajax请求将加载页面并在脚本中模拟它们,您可能需要使用json模块将响应json字符串加载到python数据结构中
    • 使用诸如硒之类的工具打开真正的浏览器。浏览器也可以是“无头的”,请参阅使用Python和PhantomJS进行无头硒测试

    第一个选项更难以实现,并且通常来说更脆弱,但是它不需要真正的浏览器,并且可以更快。

    第二种选择是更好的,因为您可以获得其他任何实际用户所得到的东西,并且您不必担心页面的加载方式。Selenium在定位页面上的元素方面非常强大-
    您可能根本不需要BeautifulSoup。但是,无论如何,此选项比第一个慢。

    希望能有所帮助。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看