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

如果没有读过前两部份的读者,建议先看前面几部份:

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

selenium webdriver简介

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

通过python的pip工具我们可以很方便的安装selenium模块, pip install selenium。安装完成之后,让我们简单的试一试webdriver驱动浏览器打开网页.

爬虫实例中的应用

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

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

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

总结

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

(0)

相关推荐

  • Selenium2+python自动化69-PhantomJS使用

    前言 PhantomJS是一个没有界面的浏览器,本质上是它其实也就是一个浏览器,只是不在界面上展示. PhantomJS非常适合爬虫方面,很多玩爬虫的都喜欢用这个浏览器. 一.PhantomJS环境准 ...

  • Selenium2+python自动化71-多个浏览器之间的切换

    前言 有时候一些业务的功能涉及到多个系统,需要在web系统1打开造一些数据,然后用到某些参数是动态生成的,需要调用web系统2里面的参数. 举个简单例子:在做某些业务的时候,需要手机短信验证码,我不可 ...

  • Python实现数据技术|爬虫便可获取免费百度文库付费文档

    相信大家在百度文档中看到了比较合适的文档之后就有了想下载学习一下的想法,但是有些时候文章更多的需要付费下载,针对于文档中能发现语句是分为一个一个的标签中的文本进行输出的.如果你有耐心和任劳任怨的想法, ...

  • 使用selenium自动化操作浏览器

    selenium借助驱动程序webdriver来驱动相应的浏览器,以最常用的谷歌和火狐浏览器为例,对应的驱动程序如下 1. chromdriver, 谷歌浏览器的驱动程序 2. geckodriver ...

  • 爬虫最怕遇到JavaScript依赖性的动态网页

    静态网站内容爬取,rvest.RCurl.XML这几个包都可以实现这个功能.比如下面的网页: http://vip.stock.finance.sina.com.cn/q/go.php/vInvest ...

  • Python Selenium的下载和安装

    Selenium是一个用于测试Web应用程序的自动化测试工具,它直接运行在浏览器中,实现了对浏览器的自动化操作,它支持所有主流的浏览器,包括IE,Firefox,Safari,Chrome等. Sel ...

  • Python爬虫入门,快速抓取大规模数据(第二部分)

    通过第一部分的练习,我们已经有了一个可运行的爬虫.这一部分我们详细的看看如何使用BeautifulSoup从网页中提取我们需要的数据,学习的目标是能够使用BeautifulSoup从网页中提取任意的数 ...

  • Python爬虫入门,快速抓取大规模数据

    大到各类搜索引擎,小到日常数据采集,都离不开网络爬虫.爬虫的基本原理很简单,遍历网络中网页,抓取感兴趣的数据内容.这篇文章会从零开始介绍如何编写一个网络爬虫抓取数据,然后会一步步逐渐完善爬虫的抓取功能 ...

  • 如何让Python爬虫一天抓取100万张网页,爬虫抓取网页数据

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 王平 源自:猿人学Python PS:如有需要Python学习资料的 ...

  • python爬虫进行Web抓取LDA主题语义数据分析报告

    原文链接:http://tecdat.cn/?p=8623 什么是网页抓取? 从网站提取数据的方法称为网络抓取.也称为网络数据提取或网络收集.这项技术的使用时间不超过3年. 为什么要进行网页爬取? W ...

  • Python爬虫入门教程(十四):爬取有声小说网站数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  • Python爬虫入门教程!手把手教会你爬取网页数据

    什么是爬虫? 爬虫就是自动获取网页内容的程序,例如搜索引擎,Google,Baidu 等,每天都运行着庞大的爬虫系统,从全世界的网站中爬虫数据,供用户检索时使用. 爬虫流程 其实把网络爬虫抽象开来看, ...

  • 怎么用Python写爬虫抓取网页数据

    机器学习首先面临的一个问题就是准备数据,数据的来源大概有这么几种:公司积累数据,购买,交换,政府机构及企业公开的数据,通过爬虫从网上抓取.本篇介绍怎么写一个爬虫从网上抓取公开的数据. 很多语言都可以写 ...

  • Python爬虫入门教程:豆瓣Top电影爬取

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理.   基本开发环境 Python 3.6 Pycharm 相关模块的使用 requests p ...

  • Python爬虫入门教程02:笔趣阁小说爬取

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 前文 01.python爬虫入门教程01:豆瓣Top电影爬取 基本开发环境 Python 3 ...