Python3爬虫环境配置——请求库安装
一、常用库
爬虫主要分为三步:抓取页面、分析页面以及存储数据。抓取页面是第一步,此过程中大多需要模拟浏览器向Server发出请求,需要用到一些Python库实现HTTP操作。常用的有
requests、Selenium、aiohttp等。
上述三方库可以通过pip、whl等方式安装,使用conda的用户可以通过conda命令安装, 使用方法同pip。
二、浏览器配置
Chrome(Google浏览器)配置
由于Selenium库是一个自动化测试工具,所以需要配合浏览器来使用,如果使用Chrome 浏览器需要使用ChromeDriver驱动。安装ChromeDriver需要根据Chrome的版本下载, 可以通过Chrome菜单“设置”→“关于Chrome”查看版本号,如下:
前往ChromeDriver仓库http://chromedriver.storage.googleapis.com/index.html下载
ChromeDriver,找到对应版本,最新版本与Chrome的版本号对应,旧版本可自行百度对照表。下载完成后,将chromedriver.exe文件拖拽到Python的Scripts,也可单独配置环境变量。
配置完成后,可在终端(命令提示符或cmd)执行chromedriver命令,执行结果如下:
在程序中测试时,使用Python代码:
运行后验证是否打开了一个空白的Chrome页面,是则没有问题,如果闪退说明版本不兼
容。
Firefox(火狐浏览器)配置
火狐浏览器的驱动使用GeckoDriver驱动,首先确保Firefox浏览器正常运行并确定版本, 通过Firefox菜单“帮助”→“关于Mozilla Firefox”查看版本号,如下:
通过GitHub下载GeckoGriver,网址https://github.com/mozilla/geckodriver/releases,目前最新版本为0.26,下载即可, 注意存在的已知问题,如下:
如Windows需要有VS运行环境。
下载完成后操作geckodriver.exe如上,终端运行验证。使用Python代码操作:
fromseleniumimportwebdriverbrowser=webdriver.Firefox()
打开空白标签页表示正常。
!!!选择上述任一浏览器安装并配置驱动,即可通过其进行网页抓取工作了。
PhantomJS
使用正常浏览器进行抓取时需要打开浏览器,动来动去不方便。最新的Chrome浏览器已经支持无界面浏览模式,也可以安装PhantomJS无界面浏览器。它是一个无界面、可脚本编程的WebKit浏览器引擎,原生支持多种Web标准:DOM操作、CSS选择器、JSON、
Canvas以及SVG。
Selenium支持PhantomJS,运行时不会有浏览器弹出,并且效率高,支持参数配置,使用方便。
官网https://phantomjs.org/download.html下载。
但是PhantomJS已经暂停更新,并且Selenium已经决定不支持
PhantomJS了,Chrome和Firefox也都有了无头模式,实现方法如下:
Chrome的无头模式,实现的Python代码:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("‐headless")
browser = webdriver.Chrome(chrome_options = options)
Firefox的无头模式,实现的Python代码:
from selenium import webdriver
options = webdriver.FirefoxOptions()
options.add_argument("‐headless")
browser = webdriver.Firefox(firefox_options = options)
关注微信公众号“数据摸鱼”,学习Python和数据分析,获取学习资源。