爬虫安装相关软件

我们用到的第三方库有 Requests、Selenium、Aiotttp 等。

进行爬虫安装相关软件说明;

参考文档:https://germey.gitbooks.io/python3webspider/content/1.2.1-Requests%E7%9A%84%E5%AE%89%E8%A3%85.html


requests安装:

1. 相关链接

2. Pip安装

无论是 Windows、Linux 还是 Mac,都可以通过 Pip 这个包管理工具来安装。

在命令行下运行如下命令即可完成 Requests 库的安装:

pip3 install requests

为了验证库是否已经安装成功,可以在命令行下测试一下:

$ python3
>>> import requests

1.2.2 Selenium的安装

Selenium 是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等等操作,对于一些 JavaScript 渲染的页面来说,此种抓取方式非常有效,下面我们来看下 Selenium 的安装过程。

1. 相关链接

2. Pip安装

推荐直接使用 Pip 安装,执行如下命令即可:

pip3 install selenium

验证安装

进入 Python 命令行交互模式,导入一下 Selenium 包,如果没有报错,则证明安装成功。

$ python3
>>> import selenium

但这样还不够,我们还需要浏览器如 Chrome、Firefox 等浏览器来配合 Selenium 工作。

在后文我们会介绍 Chrome、Firefox、PhantomJS 三种浏览器的配置方式,有了浏览器我们才可以配合 Selenium 进行页面的抓取。


1.2.3 ChromeDriver的安装

在上节我们成功安装好了 Selenium 库,但是它是一个自动化测试工具,需要浏览器来配合它使用,那么本节我们就介绍一下 Chrome 浏览器及 ChromeDriver 驱动的配置。

首先需要下载一个 Chrome 浏览器,方法多样,在此不再赘述。

随后我们需要安装一个 ChromeDriver 才能驱动 Chrome 浏览器完成相应的操作,下面我们来介绍下怎样安装 ChromeDriver。

1. 相关链接


1.2.3 ChromeDriver的安装

在上节我们成功安装好了 Selenium 库,但是它是一个自动化测试工具,需要浏览器来配合它使用,那么本节我们就介绍一下 Chrome 浏览器及 ChromeDriver 驱动的配置。

首先需要下载一个 Chrome 浏览器,方法多样,在此不再赘述。

随后我们需要安装一个 ChromeDriver 才能驱动 Chrome 浏览器完成相应的操作,下面我们来介绍下怎样安装 ChromeDriver。

1. 相关链接

2. 准备工作

在这之前请确保已经正确安装好了 Chrome 浏览器并可以正常运行,安装过程不再赘述。

3. 查看版本

点击 Chrome 的菜单,帮助->关于 Chrome,即可查看 Chrome 的版本号,如图 1-14 所示:

图 1-14 Chrome 版本号

在这里我的版本是 58.0。

请记住 Chrome 版本号,在后面选择 ChromeDriver 版本时需要用到。

4. 下载ChromeDriver

打开 ChromeDriver 的官方网站,链接为:https://sites.google.com/a/chromium.org/chromedriver/downloads。可以看到到目前为止最新版本为 2.31,其支持的 Chrome 浏览器版本为 58-60,最新版本以官网为准,官网页面如图 1-15 所示:

图 1-15 官网页面

如果你的 Chrome 版本号是58-60,那么可以选择此版本下载。

如果版本不在此范围,那可以继续查看之前的 ChromeDriver 版本,每个版本都有相应的支持 Chrome 版本介绍,请找好自己的 Chrome 浏览器版本对应的 ChromeDriver 版本再下载,否则可能导致无法正常工作。

找好对应的版本号后随后到 ChromeDriver 镜像站下载对应的安装包即可:https://chromedriver.storage.googleapis.com/index.html,不同平台可以下载不同的安装包。

5. 环境变量配置

下载完成后将 ChromeDriver 的可执行文件配置到环境变量下。

在 Windows 下,建议直接将 chromedriver.exe 文件拖到 Python 的 Scripts 目录下,如图 1-16 所示:

图 1-16 Python Scripts 目录

也可以单独将其所在路径配置到环境变量,环境变量的配置方法请参见 Python3 的安装一节。

在 Linux、Mac 下,需要将可执行文件配置到环境变量或将文件移动到属于环境变量的目录里。

例如移动文件到 /usr/bin 目录,首先命令行进入其所在路径,然后将其移动到 /usr/bin:

sudo mv chromedriver /usr/bin

当然也可以将 ChromeDriver 配置到 $PATH,首先可以将可执行文件放到某一目录,目录可以任意选择,例如将当前可执行文件放在 /usr/local/chromedriver 目录下,接下来可以修改 ~/.profile 文件,命令如下:

export PATH="$PATH:/usr/local/chromedriver"

保存然后执行:

source ~/.profile

即可完成环境变量的添加。

6. 验证安装

配置完成之后,就可以在命令行下直接执行 chromedriver 命令了。

命令行下输入:

chromedriver

输入控制台有类似输出,如图 1-17 所示:

图 1-17 控制台输出

如果有类似输出则证明 ChromeDriver 的环境变量配置好了。

随后再在程序中测试,执行如下 Python 代码:

from selenium import webdriver
browser = webdriver.Chrome()

运行之后会弹出一个空白的 Chrome 浏览器,证明所有的配置都没有问题,如果没有弹出,请检查之前的每一步的配置。

如果弹出之后闪退,则可能是 ChromeDriver 版本和 Chrome 版本不简容,请更换 ChromeDriver 版本。

如果没有问题,接下来我们就可以利用 Chrome 来做网页抓取了。

1.2.5 PhantomJS的安装

如果我们使用 Chrome 或 Firefox 进行网页抓取的话,每次抓取的时候,都会弹出一个浏览器,比较影响使用。所以在这里再介绍一个无界面浏览器,叫做 PhantomJS。

PhantomJS 是一个无界面的,可脚本编程的 WebKit 浏览器引擎。它原生支持多种 web 标准:DOM 操作,CSS 选择器,JSON,Canvas 以及 SVG。

Selenium 支持 PhantomJS,这样在运行的时候就不会再弹出一个浏览器了,而且其运行效率也是很高的,还支持各种参数配置,使用非常方便,下面我们就来了解一下 PhantomJS 的安装过程。

1. 相关链接

2. 下载 PhantomJS

我们需要在官方网站下载对应的安装包。http://phantomjs.org/download.html,它支持多种操作系统,Windows、Linux、Mac、FreeBSD 等,我们可以选择对应的平台将安装包下载下来。

下载完成之后,需要将 PhantomJS 的可执行文件所在的路径配置到环境变量里。如在 Windows 下,将下载的文件解压之后打开会看到一个 bin 文件夹,里面会包括一个可执行文件 phantomjs.exe,我们需要将它直接放在配置好环境变量的路径下或者将它所在的路径配置到环境变量里,如我们可以将它直接复制到 Python 的 Scripts 文件夹,也可以将它所在的 bin 目录加入到环境变量。

Windows 下环境变量的配置可以参见 Python3 安装一节,Linux 及 Mac 环境变量配置可以参见 ChromeDriver 安装一节,在此不再赘述,关键在于将 PhantomJS 的可执行文件所在路径配置到环境变量里。

配置成功后,可以在命令行下测试一下,输入

phantomjs

如果可以进入到 PhantomJS 的命令行,那就证明配置完成了,如图 1-21 所示:

图 1-21 控制台

3. 验证安装

在 Selenium 中使用的话,我们只需要将 Chrome 切换为 PhantomJS 即可。

from selenium import webdriver
browser = webdriver.PhantomJS()
browser.get(‘https://www.baidu.com‘)
print(browser.current_url)

运行之后我们就不会发现有浏览器弹出了,但实际上 PhantomJS 已经运行起来了,在这里我们访问了百度,然后将当前的 URL 打印出来。

控制台输出如下:

https://www.baidu.com/

如此一来我们便完成了 PhantomJS 的配置,在后面我们可以利用它来完成一些页面的抓取。

4. 结语

以上三节我们介绍了 Selenium 对应的三大主流浏览器的对接方式,在后文我们会对 Selenium 及各个浏览器的对接方法进行更加深入的探究。

7. 结语

既然 Chrome 可以通过 Selenium 驱动,Firefox 也可以,如果想要实现 Selenium 驱动 Firefox 浏览器可以参考下一节 GeckoDriver 的安装。

 



1.2.6 Aiohttp的安装

之前我们介绍的 Requests 库是一个阻塞式 HTTP 请求库,当我们发出一个请求后,程序会一直等待服务器的响应,直到得到响应后程序才会进行下一步的处理,其实这个过程是比较耗费资源的。如果程序可以在这个等待过程中做一些其他的事情,如进行请求的调度、响应的处理等等,那么爬取效率一定会大大提高。

Aiohttp 就是这样一个提供异步 Web 服务的库,从 Python3.5 版本开始,Python 中加入了 async/await 关键字,使得回调的写法更加直观和人性化,Aiohttp的异步操作借助于 async/await 关键字写法变得更加简洁,架构更加清晰。使用异步请求库来进行数据抓取会大大提高效率,下面我们来看一下这个库的安装方法。

1. 相关链接

2. Pip安装

推荐使用 Pip 安装,命令如下:

pip3 install aiohttp

另外官方还推荐安装如下两个库,一个是字符编码检测库 cchardet,另一个是加速 DNS 解析库 aiodns,安装命令如下:

pip3 install cchardet aiodns

3. 测试安装

安装完成之后,可以在 Python 命令行下测试。

$ python3
>>> import aiohttp

如果没有错误报出,则证明库已经安装好了。

4. 结语

我们会在后面的实例中用到这个库,比如维护一个代理池,利用异步方式检测大量代理的运行状况,极大提高效率。

 

原文地址:https://www.cnblogs.com/qiangyuzhou/p/11018896.html

时间: 2024-10-09 19:55:58

爬虫安装相关软件的相关文章

Adobe 相关软件安装问题

本来打算继续AC,ACM的题呢,但是受朋友所托,帮她安装Adobe 公司的一些相关软件:PS,Dreamweaver,Flash等,但是却很无语的安装了三四个小时,现将今天安装Adobe 软件的经验,及教训总结如下: (一):多次尝试 安装的时候,因为是屌丝,没钱买正版,又因为不管是平常的使用频率,还是其他的各个方面都感觉这官方版的太大,对楼主完全没有必要,所以从网上下载的破解版的,纯净版的.但是没有想到,还是遇到了诸多问题,主要是安装了PS之后,在安装完成的时候有个立即运行的选项,选择之后,很

Linux下安装Nrpe软件相关报错

Linux下面安装nrpe软件时,如果进行配置时(./configure)  报错: 并且执行make all命令进行编译时候也报错: 解决办法:    在报错的服务器上执行yum -y install openssl-devel   命令安装ssl的库 之后再次执行./configure命令进行配置,如果配置成功应该显示如下信息: 再次使用make all 命令就不会报错了.make all完毕显示如下信息: Linux下安装Nrpe软件相关报错,布布扣,bubuko.com

软件安装相关笔记

程序的安装 rpm :redhat packagemanager早期 rpm is package manager现在 rpm:/var/lib/rpm数据库 rpm命名规则: 主包:bind-version-el5.i386.rpm 子包:bind-libs-version-el5.i386.rpm 格式: name-version-release.arch.rpm bind-major.minor.release.arch.rpm 主版本号:重大改进 次版本好:某个子功能发生重大改变 发行号

office web apps部署,配置https,负载均衡(四)安装office web apps相关软件

前提条件: 1.一台windows server 2008R2服务器,并且已经配置了域: 服务器连接域控制器的相关文档,请查看上一篇文章:office web apps部署,配置https,负载均衡(三)服务器连接域控制器 2.相关软件地址 链接:https://pan.baidu.com/s/1TMCRyS4-_VAWxz236eG8zg 提取码:5xki 具体步骤: 1.用域账号登录服务器,同时配置安全策略,保证域账号有管理员权限,安全策略的配置,在office web apps部署,配置h

Linux(CentOS7) 相关软件安装

一.xShell6.xFtp6 安装 1.下载 (1)目的: xShell6 是一款强大的安全终端软件,可以用于登陆.操作远程的 Linux 服务器. xFtp6 用于上传文件到服务器,从服务器下载文件. (2)下载地址: https://www.netsarang.com/zh/xshell-download/ 如下图所示,点击免费授权页面,通过一个真实的邮箱获取下载地址. 2.xShell6 安装 (1)傻瓜式安装,一路 next. (2)添加连接 Step1:使用 ifconfig 查看虚

编译安装软件——需要依赖的相关软件

安装编译软件:# yum install -y make gcc gcc-c++ perl zlib-devel libaio libpng libpng-devel libjpeg-devel pcre-devel# yum install -y  libXpm-devel openssl openssl-devel libxml2-devel bzip2-devel.x86_64 libjpeg-turbo-devel# yum install -y  freetype freetype-d

Centos 6.5 yum 安装Apache软件

本文主要介绍一下如何在Linux平台Centos 6.5 系统上使用yum 安装apache 网站平台软件 工具/原料 linux .Centos .apache 方法/步骤 一.首先在系统上面查询一下是否已经安装了apache 软件[Apache软件在linux系统里的名字是httpd] rpm    -qa    httpd 如果有返回的信息,则会显示已经安装的软件.如果没有则不会显示其它的信息.如下图是没有安装的.查询的时候没有显示其它的信息.   二.查询到系统是还没有进行安装的,那么我

Linux环境下Tivoli Directory Server v6.3安装记录_步骤2:安装TDS软件

IBM Tivoli Directoy Server是对轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)的一个完整实现,功能强大.稳定可靠,是构建企业门户的基础磐石: 本系列文章以图文方式讲解TDS安装的相关知识: 系列文章目录如下: 1.安装DB2数据库: 2.安装TDS软件: 3.创建TDS实例: 4.解决因GSKIT版本引起的TDS实例无法启动的故障: 本文为TDS安装记录系列文章的第二篇<安装TDS软件>: 环境说明: 硬件环境

卸载 Cloudera Manager 5.1.x.和 相关软件【官网翻译】

问题导读: 1.不同的安装方式,卸载方法存在什么区别?2.不同的操作系统,卸载 Cloudera Manager Server and 数据库有什么区别? 重新安装不完整如果你来到这里,因为你的安装没有完成(例如,如果它是由一个虚拟机超时中断),和你想继续安装,然后重新安装,做到以下几点:删除文件和目录: 个人建议:这一步虽然是官网这么做,但是下面命令还是不要执行,因为我们后面还会用到下面命令 /usr/share/cmf/uninstall-cloudera-manager.sh 复制代码 当