本文为整理最近学习的爬虫内容,学习网址https://germey.gitbooks.io/python3webspider/
开发环境配置
目录
1. python3
2. 请求库的安装
爬虫可以简单分为几步:抓取页面、分析页面、存储数据。
在第一步抓取页面的过程中,我们就需要模拟浏览器向服务器发出请求,所以需要用到一些 Python 库来实现 HTTP 请求操作。
介绍安装的库有:requests、selenium、aiohttp、ChromeDriver/GeckoDriver、PhantomJS
Requests
是一个阻塞式 HTTP 请求库。
pip install requests
Selenium
是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等等操作,对于一些 JavaScript 渲染的页面来说,此种抓取方式非常有效。
pip install selenium
ChromeDriver(https://chromedriver.storage.googleapis.com/index.html)/GeckoDriver(https://github.com/mozilla/geckodriver/releases)(相应的浏览器驱动)
PhantomJS(http://phantomjs.org/download.html)
如果我们使用 Chrome 或 Firefox 进行网页抓取的话,每次抓取的时候,都会弹出一个浏览器,比较影响使用。所以在这里再介绍一个无界面浏览器,叫做 PhantomJS。
PhantomJS 是一个无界面的,可脚本编程的 WebKit 浏览器引擎。它原生支持多种 web 标准:DOM 操作,CSS 选择器,JSON,Canvas 以及 SVG。
Selenium 支持 PhantomJS,这样在运行的时候就不会再弹出一个浏览器了,而且其运行效率也是很高的,还支持各种参数配置,使用非常方便。
Aiohttp
是一个提供异步 Web 服务的库,从 Python3.5 版本开始,Python 中加入了 async/await 关键字,使得回调的写法更加直观和人性化,Aiohttp的异步操作借助于 async/await 关键字写法变得更加简洁,架构更加清晰。使用异步请求库来进行数据抓取会大大提高效率。
pip install aiohttp
3. 解析库的安装
抓取下网页代码之后,下一步就是从网页中提取信息,提取信息的方式有多种多样,可以使用