目录

一、请求库的安装

1.requests 的安装

2.Selenium的安装

3.ChromeDrive 的安装

4.GeckoDriver 的安装

5.PhantomJS 的安装

6.aiohttp 的安装

二、解析库的安装

1.lxml 的安装

2.Beautiful Soup 的安装

3.pyquery 的安装

4.tesserocr 的安装


一、请求库的安装

        爬虫可以简单分为几步:抓取页面、分析页面和存储数据
        在抓取页面的过程中 ,我们需要模拟浏览器向服务器发出请求,所以需要用到一些 Python 库来实现HTTP请求操作
        接下来,我们介绍一下这些请求库的安装方法

1、requests 的安装

1. 相关链接

  • GitHub:https://github.com/requests/requests
  • PyPI:requests · PyPI
  • 官方文档:http://www.python-requests.org
  • 中文文档:http://docs.python-requests.org/zh_CN/latest

2 . pip 安装

pip install requests

2、Selenium的安装

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

1.相关链接

  • 官方网站:https://www.seleniumhq.org
  • GitHub: selenium/py at trunk · SeleniumHQ/selenium · GitHub
  • PyPI: https://pypi.python.org/pypi/selenium
  • 官方文梢:https://selenium-python.readthedocs.io
  • 中文文档:Selenium with Python中文翻译文档 — Selenium-Python中文文档 2 documentation

2.pip 安装

pip install selenium

3、ChromeDrive 的安装

​        前面我们成功安装好了Selenium库,但是他是一个自动化测试工具,需要浏览器来配合使用。
        首先,下载 hrome 浏览器。
        随后安装 ChromeDriver 因为只有安装 ChromeDriver ,才能驱动 Chrome 浏览器完成相应的操作 下面我们来介绍下怎样安装 ChromeDriver。

1. 相关链接
  • 官方网站: https://sites.google.com/a/chromium.org/chrome.ver
  • 下载地址 :https://chromedriver.storage.googleapis.com/index.html

2.准备工作

        在这之前请确保已经正确安装好了 Chrome 浏览器并可以正常运行,安装过程不再赘述
3. 查看版本
        点击 chrome 菜单“帮助”→“关于 Google Chrome”,即可查看 Chrome 的版本号

这里我的 Chrome 版本是 96.0
请记住 Chrome 版本号,因为选择 ChromeDriver 版本时需要用到

4. 下载 ChromeDriver

打开 ChromeDriver 的官方网站,可以看到最新版本为 96.04664.18 ,其支持的 Chrome 浏览器版本为 96.04664

        如果你的 Chrome 版本号不在此范围,可以继续查看之前的 hromeDriver 每个版本都有相
应的支持 Chrome 版本的介绍,请找好自己的 Chrome 浏览器版本对应的 ChromeDriv er 版本再下载, 否则可能无法正常工作
        找好对应的版本号后,随后到 hromeDriver 镜像站下载对应的安装包即可:https://chromedriver.storage.googleapis.com/index.html 在不同平台下,可以下载不同的安装包

5.环境变量配置

下载完成后,将 hromeDriver 的可执行文件配置到环境变量下
在Windows 下,建议直接将 hromedriver.exe 文件拖到 Python Scripts 目录下

6. 验证安装

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

随后再在程序中测 Python 代码:

from selenium import webdriver
browser = webdriver.Chrome()

返回:

运行之后 如果弹出一个空Chrome 浏览器,则证明所有的配置都没有问题。如果没有弹出,

请检查之前的每一步配置。
        如果弹出闪退则可能 ChromeDriver 版本和 Chrome 版本不兼容 ,请更换 ChromeDriver版本。如果没有问题 ,接下来就可以利用 Chrome 来做网页抓取了

4.GeckoDriver 的安装

上面,我们了解了ChromeDriver的配置方法,配置完成后可以用Selenium驱动Chrome浏览器做对应的网页抓取。

那么对应Firefox来说,也可以用同样的方式完成Selenium的对接,这时需要安装另一个驱动GeckoDriver,接下来我们接受一下它的安装过程。

1. 相关链接
  • GitHub: GitHub - mozilla/geckodriver: WebDriver for Firefox
  • 下载地址: Releases · mozilla/geckodriver · GitHub

2. 准备工作

确保已经正确安装了Firefox浏览器并且能正常运行。

3.下载 GeckoDriver

在GitHub 上找 GeckoDriver 的发行版,并找到最新版的,如下是0.30

因我的电脑是win10,64位的所以下载如图的

4. 环境变量配置

在Windows 下,可以直接 geckodriver.exe 文件拖到 Python Scripts 录下,如ChromeDrive 的安装一样
5. 验证安装
配置完成后,就可以在命令行下直接执行 geckodriver 命令测试:
geckodriver

返回如下,则证明安装成功且配置正确

        随后执行如下 Python 代码 在程序中测试一下
from selenium import webdriver
browser = webdriver.Firefox()

返回,不知为啥这次pycharm里运行会报错,于是我用了Anaconda运行

        运行之后,若弹出一个空内的 firefox 浏览器,则证明所有的配置都没有问题 ;如果没有弹出, 请检查之前的每一步配置

5.PhantomJS 的安装

        PhantomJS 是一个无界面 、可脚本编程的 WebKit 浏览器引擎,它原生支持多 Web 标准 DOM 操作、 ss 选择器、 JSON Canvas 以及 SVG。
        Selenium 支持 PhantomJS ,这样在运行的时候就不会再弹出 个浏览器了 而且 PhantomJS 的运 行效率也很高,还支持各种参数配置,使用非常方便 下面我 就来了解一下 PhantomJS 安装过程。
1. 相关链接
  • 官方网站: PhantomJS - Scriptable Headless Browser
  • 官方文梢:Quick Start with PhantomJS
  • 下载地址1: Download PhantomJS
  • 下载地址2:
  • API 接门说明:Command Line Interface | PhantomJS
2. 下载 PhantomJS(建议用下载地址1)
        在官网找到对应版本下载对应操作系统的安装包,下载完成后,将 PhantomJS 可执行文件所在的路径配置到环境变盘里 比如在 Windows 下,将下载的文件解压之后并打开,会看到一个 in 文件夹,里面包括 个可执行文件 phantomjs.exe ,我们需 要将它直接放在配置好环境变量的路径下或者将它所在的路径配置到环境变盘里 比如,我们既可以 将它直接复制到 Python Scripts 文件夹,也可以将它所在的 bin 目录加入到环境变量。

3. 验证安装
首先在命令提示符里输入 phantomjs并回车返回如下,证明成功了
在Selenium 中使用的话,我们只需要将 Chrome 切换为 PhantomJS 即可:

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

如果返回如下,则说明selenium版本过高,需要安装低版本的,因为最新版已经放弃了phantomjs

1.先把selenium卸载,代码如下:

pip uninstall selenium

2.安装selenium==2.48.0版本的,代码如下:

pip install selenium==2.48.0

完美运行成功!!!!!

返回:

        运行之后,我们就不会发现有浏览器弹出了,但实际上 PhantomJS 已经运行起来了 这里我们访 问了百度,然后将当前的 URL 打印出来
        控制台的输出如下
        https: //www.baidu.com/
        如此一来,我们便完成了 PhantomJS 的配置,后面可以利用它来完成一些页面的抓取

6.aiohttp 的安装

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

        aiohttp 就是这样一个提供异步 Web 服务的库,从 Python3.5版本开始,python 中加入了 async/await 关键字,使得回调的写法更加直观和人性 aiohttp即的异步操作借助于 async/await 关键字的写法变 得更加简洁,架构更加清晰使用异步请求库进行数据抓取时,会大大提高效率,下面我 来看一下这个库的安装方法:
1.相关链接
  • 官方文档: Welcome to AIOHTTP — aiohttp 3.8.1 documentation
  • GitHub: GitHub - aio-libs/aiohttp: Asynchronous HTTP client/server framework for asyncio and Python
  • PyPI: aiohttp · PyPI

 2. pip 安装

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

二、解析库的安装

1、lxml 的安装

        lxm是Python的一个解析库,支持 HTML和XML的解析,支持XPath 解析方式,而且解析效
率非常高。接下来,我们了解一下 lxml 安装方式。
1.相关链接
  • 官方网站:lxml - Processing XML and HTML with Python
  • GitHub: https://github.com/lxml/lxml
  • PyPI: https://pypi.org/pyp/lxml
2 . Windows 下的安装

在Windows 下,可以先尝试利用 pip 安装, 此时直接执行如下命令即可:
pip install lxml
#或
pip3 install lxml

如果没有任何报锚,则证明安装成功
如果: 现报 ,比如提示缺少 lib ml2 库等信息 可以采用 heel 方式安装
推荐直接到这里(链接为:https://www.lfd.uci.edu/-gohblke/pythonlibs/#lxml )下载对应的weel文
件,找到本地安装 Python 版本和系统对应的 lxml 版本,例如 Windows 64 位、 Python3.6,就选作 lxml-3 .8.0-cp36-cp36m-win _ amd64. whl ,将其下载到本地
然后利用 pip 安装即可,命令如下
pip install lxml 3.8.0-cp36-cp36m-win_amd64 .whl
#或
pip3 install lxml 3.8.0-cp36-cp36m-win_amd64 .whl

这样我 就可以成功安装 lxml
3.验证安装
安装完成之后,可以在 Python命令行下测试:

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

2.Beautiful Soup 的安装

        Beautiful Soup是Python HTML或XML 的解析库,我们可以用它来方便地从网页中提取
数据。它拥有强大的API 多样的解析方式。
1. 相关链接
  • 官方文档:Beautiful Soup Documentation — Beautiful Soup 4.9.0 documentation
  • 中文文档:Beautiful Soup 4.4.0 文档 — Beautiful Soup 4.2.0 documentation
  • PyPI: beautifulsoup4 · PyPI
2. 准备工作

        Beautiful Soup HTML和XML 解析器是依赖于 lxml 库的,所以在此之前请确保已经成功安装
好了 lxml 库,具体的安装方式参见上面
3. pip 安装
pip install beautifulsoup4
#或
pip3 install beautifulsoup4
        命令执行完毕之后即可完成安装
4. wheel 安装

        可以从 PyPI下载wheel 文件安装,链接如下:beautifulsoup4 · PyPI
        然后使用pip 安装wheel 文件即可
5. 验证安装
安装完成之后,可以运行下面的代码验证一下:
from bs4 import BeautifulSoup
soup = BeautifulSoup('<p>Hello</p>','lxml')
print(soup.p.string)

运行结果如下:

运行一致,则证明安装成功。

3.pyquery 的安装

        pyquery 是 个强大的网页解析工具,它提供了和 jQuery 类似的语法来解析 HTML 文梢,支持CSS选择器,使用非常方便。
1. 相关链接
  • GitHub: GitHub - gawel/pyquery: A jquery-like library for python
  • PyPI : pyquery · PyPI
  • 官方文档:pyquery: a jquery-like library for python — pyquery 1.3.x documentation
2. pip 安装
pip install pyquery
#或
pip3 install pyquery
        命令执行完毕之后即可完成安装
3. wheel 安装

        可以从 PyPI下载wheel 文件安装,链接如下:beautifulsoup4 · PyPIpyquery · PyPIbeautifulsoup4 · PyPI
然后使用pip 安装wheel 文件即可。比如如果当前版本为 1.2.17 ,则下载的文件名称为 pyquery-1.2.17-py2.py3-none-any.whl ,此时下载到本地再进行 pip 安装即可,命令如下:

pip install pyquery-1.2.17-py2.py3-none-any.whl
#或
pip3 install pyquery-1.2.17-py2.py3-none-any.whl 

4. 验证安装
安装完成之后,可以运行下面的代码验证一下:
import pyquery

运行结果如下:

运行没有报错,则证明安装成功。

4.tesserocr 的安装

        在爬虫过程中,难免会遇到各种各样的验证码,而大多数验证码还是图形验证码,这时候我们 以直接用 OCR 来识别。

1.OCR

        OCR ,即 Optical Character Recognition ,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是一些不规则的字符 ,这些字符确实是由字符稍加扭曲变换得到的内容
        tesserocr是Python的一个 OCR 识别库,但其实是对 tesseract 做的 一层Python API 封装,所以它的核心是 tesseract 因此,在安装 tesserocr 前,我们需要先安装tesseract 。
2.相关链接
  • tesserocr GitHub: GitHub - sirfz/tesserocr: A Python wrapper for the tesseract-ocr API
  • tesserocr Py PI: tesserocr · PyPI
  • tesserac 下载地址:Index of /tesseract
  • tesserac GitHub :https://github.com/tesseract-ocr/tesseract
  • tesserac 语言包 :https://github.com/tesseract-ocr/tessdata
  • tesseract 文档: Manual Pages | tessdoc
3. Windows 下的安装
在Window 下,首先需要下载 tesseract ,它为 tesserocr 提供了支持,进入下载页面,其中文件名中带有 dev 的为开发版本,不带 dev 的为稳定版本,可以选择下载不带 dev 的版本。

例如可以选择下载 tesseract-ocr-w64-setup-v5.0.1.20220107.exe

下载完成后双击, 好像没有中文版的

然后一直点 next 和 i agree 就行,直到

        此时可以句选 Additional language data download 选项来安装 OCR 识别支持的语 包,这样 OCR 便可以识别多国语言 然后一直点击 Next 按钮即可
接下来 再安装 tesserocr 即可,此时直接使用 pip 安装
pip install tesserocr pillow
#或
pip3 install tesserocr pillow

4.验证安装

接下来,我们可以使用 tesseract tesserocr 来分别进行测试下面这张图片

首先,用 tesseract 命令测试:

打开照片所在文件夹,按住 shift 击右键 打开 powershell窗口 输入下面命令:

tesseract image.png stdout -l eng

得到结果:

然后,我们看一下在python中如何演示:

首先,现安装库

pip install pytesseract

如何想要在python中使用 pytesseract 库,则需要先添加 tesseract 的环境变量

1.将tesseract.exe添加到环境变量PATH中

我的电脑——右键——属性——高级系统设置——环境变量——将 tesseract.exe 所在的文件夹的路径添加到 path 中

2. 修改pytesseract.py文件,指定tesseract.exe安装路径

然后打开它

import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd=r'D:\Tesseract-OCR\tesseract.exe'
image=Image.open('D:\桌面\python\jupyter\image.png')#所要识别的图片的位置
#默认是英文,如果是英文就不需更改
text=pytesseract.image_to_string(image)
#默认是英文,如果是中文,要将语言改成中文。
# text=pytesseract.image_to_string(image,lang='chi_sim')
print(text)

返回:

库,先安装到这里,后面还有很多很多,等我慢慢补充,嘿嘿!!!

最全python爬虫库安装详解相关推荐

  1. python random库安装,详解python第三方库的安装、PyInstaller库、random库

    python第三方库的安装 PyInstaller库 PyInstaller库能够在不同操作系统下将python源文件打包,变成直接可运行的可执行文件. 可以通过-F参数对python源文件生成一个独 ...

  2. python爬虫入门实例-Python爬虫天气预报实例详解(小白入门)

    本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下. 要求是把你所在城市过去一年的历史数据爬出来. 分析网站 我们可以看到,我们需要的天气数据都是放在图表上的,在切换月份的时候,发现只有 ...

  3. python编程入门与案例详解-Python爬虫天气预报实例详解(小白入门)

    本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下. 这次要爬的站点是这个:http://www.weather.com.cn/forecast/ 要求是把你所在城市过去一年的历史数据爬 ...

  4. Python爬虫JS解密详解,学会直接破解80%的网站(一)!!!

    文章目录 1.网页查看 2.有道翻译简单实现源码 3.JS解密(详解) 4.python实现JS解密后的完整代码 4.1.实现效果 5.JS解密后完整代码升级版 5.1.实现效果 CSDN独家福利降临 ...

  5. Python标准库time详解

    Python标准库time详解 1.time库 时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 结构化时间(struct_time ...

  6. Python 之 新手安装详解 、安装目录说明 及 修改pip默认包安装位置

    写在前面   之前一直是搞底层相关的东西,目前,需要研究一下Python,特此记录! 下载   首先需要说明的是,Python 是开源跨平台的,不同系统下的安装区别较大.Python最新源码.安装包, ...

  7. python爬虫之pyquary详解

    PyQuery是Python中一个强大的Web解析库,它能够将HTML页面通过CSS选择器来进行解析,十分方便实用.本文将详细介绍使用PyQuery实现Python爬虫的方法,包括PyQuery的安装 ...

  8. python爬虫urllib模块详解

    1.urllib模块简介 python2有urllib和urllib2两种模块,都用来实现网络请求的发送.python3将urllib和urllib2模块整合并命名为urllib模块.urllib模块 ...

  9. Python爬虫教程之——详解http请求头中的User-agent与Referer

    ** 重要提示: 本文已迁移至我的个人博客:https://ericnth.cn/essay/2020/04/python-spider-ua-referer/,请前往此链接访问以获得最新的内容,以及 ...

最新文章

  1. 业界首个!华为联合中国信通院等发布《网络体系强基展望白皮书》
  2. Knative 基于流量的灰度发布和自动弹性实践
  3. 【项目管理】ITTO-相关方管理
  4. redis之(十一)redis实现缓存的功能
  5. partition by 函数
  6. 供应商寄售库存管理_【论文解读】物流联合外包下库存管理模式对供应链运作的影响...
  7. 使用Jenkins,GitHub和Docker的最先进的持续集成和部署管道
  8. Alpha 冲刺 (1/10)
  9. 沃尔玛宣布与TikTok达成直播带货合作?
  10. CSS基础part1
  11. 程序员的数学【概率论】
  12. html做出文字凹凸效果,css3怎么实现字体凹陷凸出效果?(附代码)
  13. Spring Boot 接入 Dubbo 指导文档
  14. 利用nginx实现内网地图瓦片代理
  15. R语言 在R中实现vlookup的功能
  16. 最新最快的HTTP代理服务器,国内外HTTP代理服务器,游戏代理服务器,Q代理服务器,代理IP...
  17. SQL Server认证培训与考试
  18. 目前ipad协议和安卓协议能实现微信百分之90功能 扫码进群 注册 阅读 关注支付功能等都能实现吗?ipad协议源码
  19. Unable to determine the relationship represented by navigation ‘XXX‘ of type ‘XXX‘.
  20. thingsboard 编译及分析

热门文章

  1. win10系统预览体验计划错误代码0x800bfa19怎么办
  2. Win11系统如何调节字体大小
  3. windows7电脑删除文件特别慢怎么回事
  4. win7查看电脑ip地址的方法
  5. android rxjava2 简书,RXJava2学习
  6. 前、后端分离权限控制设计与实现
  7. @ControllerAdvice实现优雅地处理异常
  8. java实现简单二叉树
  9. php 域名白名单,域名白名单验证
  10. hashmap为什么线程不安全_StringBuilder为什么线程不安全?