秒速赛车技巧-秒速赛车规律_官网-秒速赛车走势图
当前位置:主页 > 秒速赛车技巧 > 正文

Python爬虫入门快速抓取大规模数据(第四部分

  当前大部分网站都使用JS动态的加载内容,浏览器执行JS并生成网页内容。因为Python的requests库不会像浏览器一样执行JS,所以抓取到的内容并不是最终网页呈现内容。解决这个问题的方法也很简单,我们使用浏览器来执行JS生成内容,然后再提取需要的数据。

  selenium webdriver就是我们这里要用来控制浏览器执行JS生成内容的工具。WebDriver是通过调用浏览器原生的自动化API直接驱动浏览器,目前主流的浏览器都提供自动化API。因此我们可以很容易的通过webdriver提供的API操纵浏览器访问网页生成内容,并返回数据。

  现在让我们回到我们的爬虫的例子上,原来我们是用requests库抓取内容,现在我们使用webdriver驱动浏览器的方式来获取网页内容。这样就能获取到执行了JS动态加载内容的网页。

  通常浏览器都会打开一个窗口,但对于爬虫而言这是没有必要的。幸运的是,我们可以使用phantomjs来替代浏览器。PhantomJS是一个基于webkit的无UI的浏览器,几乎所有在浏览器上能做到的事情也能在PhantomJs上做到。PhantomJs广泛的用于网络监测、Web测试和页面访问自动化。

  使用代码上和我们前面使用浏览器的并无很多的不同,唯一的区别也只在于我们初始化浏览器代码的不同。

  这一部分中我们简单的讨论了如何使用webdriver获取动态加载网页的内容。事实上webdriver还有很多非常有趣的应用,后面有机会我们会再看看。

版权保护: 本文由 主页 原创,转载请保留链接: http://www.ecentiv.com//html/765.html