小白学 Python 爬虫(2):前置准备(一)基本类库的安装
off999 2024-10-24 12:23 39 浏览 0 评论
如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,您的关注,是对小编坚持原创的最大鼓励:)
人生苦短,我用 Python
前文传送门:
本篇内容较长,各位同学可以先收藏后再看~~
在开始讲爬虫之前,还是先把环境搞搞好,工欲善其事必先利其器嘛~~~
本篇文章主要介绍 Python 爬虫所使用到的请求库和解析库,请求库用来请求目标内容,解析库用来解析请求回来的内容。
开发环境
首先介绍小编本地的开发环境:
- Python3.7.4
- win10
差不多就这些,最基础的环境,其他环境需要我们一个一个安装,现在开始。
请求库
虽然 Python 为我们内置了 HTTP 请求库 urllib ,使用姿势并不是很优雅,但是很多第三方的提供的 HTTP 库确实更加的简洁优雅,我们下面开始。
Requests
Requests 类库是一个第三方提供的用于发送 HTTP 同步请求的类库,相比较 Python 自带的 urllib 类库更加的方便和简洁。
Python 为我们提供了包管理工具 pip ,使用 pip 安装将会非常的方便,安装命令如下:
pip install requests
验证:
C:\Users\inwsy>python Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import requests
首先在 CMD 命令行中输入 python ,进入 python 的命令行模式,然后输入 import requests 如果没有任何错误提示,说明我们已经成功安装 Requests 类库。
Selenium
Selenium 现在更多的是用来做自动化测试工具,相关的书籍也不少,同时,我们也可以使用它来做爬虫工具,毕竟是自动化测试么,利用它我们可以让浏览器执行我们想要的动作,比如点击某个按钮、滚动滑轮之类的操作,这对我们模拟真实用户操作是非常方便的。
安装命令如下:
pip install selenium
验证:
C:\Users\inwsy>python Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import selenium
这样没报错我们就安装完成,但是你以为这样就算好了么?图样图森破啊。
ChromeDriver
我们还需要浏览器的支持来配合 selenium 的工作,开发人员嘛,常用的浏览器莫非那么几种:Chrome、Firefox,那位说 IE 的同学,你给我站起来,小心我跳起来打你膝盖,还有说 360 浏览器的,你们可让我省省心吧。
接下来,安装 Chrome 浏览器就不用讲了吧。。。。
再接下来,我们开始安装 ChromeDriver ,安装了 ChromeDriver 后,我们才能通过刚才安装的 selenium 来驱动 Chrome 来完成各种骚操作。
首先,我们需要查看自己的 Chrome 浏览器的版本,在 Chrome 浏览器右上角的三个点钟,点击 帮助 -> 关于,如下图:
将这个版本找个小本本记下来,小编这里的版本为: 版本 78.0.3904.97(正式版本) (64 位)
接下来我们需要去 ChromeDriver 的官网查看当前 Chrome 对应的驱动。
官网地址: https://sites.google.com/a/chromium.org/chromedriver/
因某些原因,访问时需某些手段,访问不了的就看小编为大家准备的版本对应表格吧。。。
ChromeDriver VersionChrome Version78.0.3904.117877.0.3865.407777.0.3865.107776.0.3809.1267676.0.3809.687676.0.3809.257676.0.3809.127675.0.3770.907575.0.3770.87574.0.3729.67473.0.3683.687372.0.3626.69722.4671-732.4570-722.4469-712.4369-712.4268-702.4167-692.4066-682.3966-682.3865-672.3764-662.3663-652.3562-64
顺便小编找到了国内对应的下载的镜像站,由淘宝提供,如下:
http://npm.taobao.org/mirrors/chromedriver
虽然和小编本地的小版本对不上,但是看样子只要大版本符合应该没啥问题,so,去镜像站下载对应的版本即可,小编这里下载的版本是:78.0.3904.70 ,ChromeDriver 78版本的最后一个小版本。
下载完成后,将可执行文件 chromedriver.exe 移动至 Python 安装目录的 Scripts 目录下。如果使用默认安装未修改过安装目录的话目录是:%homepath%\AppData\Local\Programs\Python\Python37\Scripts ,如果有过修改,那就自力更生吧。。。
将 chromedriver.exe 添加后结果如下图:
验证:
还是在 CMD 命令行中,输入以下内容:
C:\Users\inwsy>python Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from selenium import webdriver >>> browser = webdriver.Chrome()
如果打开一个空白的 Chrome 页面说明安装成功。
GeckoDriver
上面我们通过安装 Chrome 的驱动完成了 Selenium 与 Chrome 的对接,想要完成 Selenium 与 FireFox 的对接则需要安装另一个驱动 GeckoDriver 。
FireFox 的安装小编这里就不介绍了,大家最好去官网下载安装,路径如下:
FireFox 官网地址: http://www.firefox.com.cn/
GeckoDriver 的下载需要去 Github (全球最大的同性交友网站),下载路径小编已经找好了,可以选择最新的 releases 版本进行下载。
下载地址: https://github.com/mozilla/geckodriver/releases
选择对应自己的环境,小编这里选择 win-64 ,版本为 v0.26.0 进行下载。
具体配置方式和上面一样,将可执行的 .exe 文件放入 %homepath%\AppData\Local\Programs\Python\Python37\Scripts 目录下即可。
验证:
还是在 CMD 命令行中,输入以下内容:
C:\Users\inwsy>python Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from selenium import webdriver >>> browser = webdriver.Firefox()
应该是可以正常打开一个空白的 FireFox 页面的,结果如下:
注意: GeckoDriver 指出一点,当前的版本在 win 下使用有已知 bug ,需要安装微软的一个插件才能解决,原文如下:
You must still have the Microsoft Visual Studio redistributable runtime installed on your system for the binary to run. This is a known bug which we weren't able fix for this release.
插件下载地址: https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
请各位同学选择自己对应的系统版本进行下载安装。
Aiohttp
上面我们介绍了同步的 Http 请求库 Requests ,而 Aiohttp 则是一个提供异步 Http 请求的类库。
那么,问题来了,什么是同步请求?什么是异步请求呢?
- 同步:阻塞式,简单理解就是当发出一个请求以后,程序会一直等待这个请求响应,直到响应以后,才继续做下一步。
- 异步:非阻塞式,还是上面的例子,当发出一个请求以后,程序并不会阻塞在这里,等待请求响应,而是可以去做其他事情。
从资源消耗和效率上来说,同步请求是肯定比不过异步请求的,这也是为什么异步请求会比同步请求拥有更大的吞吐量。在抓取数据时使用异步请求,可以大大提升抓取的效率。
如果还想了解跟多有关 aiohttp 的内容,可以访问官方文档: https://aiohttp.readthedocs.io/en/stable/ 。
aiohttp 安装如下:
pip install aiohttp
aiohttp 还推荐我们安装另外两个库,一个是字符编码检测库 cchardet ,另一个是加速DNS的解析库 aiodns 。
安装 cchardet 库:
pip install cchardet
安装 aiodns 库:
pip install aiodns
aiohttp 十分贴心的为我们准备了整合的安装命令,无需一个一个键入命令,如下:
pip install aiohttp[speedups]
验证:
C:\Users\inwsy>python Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import aiohttp
没报错就安装成功。
解析库
lxml
lxml 是 Python 的一个解析库,支持 HTML 和 XML 的解析,支持 XPath 的解析方式,而且解析效率非常高。
什么是 XPath ?
XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。 XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。
以上内容来源《百度百科》
好吧,小编说人话,就是可以从 XML 文档或者 HTML 文档中快速的定位到所需要的位置的路径语言。
还没看懂?emmmmmmmmmmm,我们可以使用 XPath 快速的取出 XML 或者 HTML 文档中想要的值。用法的话我们放到后面再聊。
安装 lxml 库:
pip install lxml
验证:
C:\Users\inwsy>python Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import lxml
没报错就安装成功。
Beautiful Soup
Beautiful Soup 同样也是一个 Python 的 HTML 或 XML 的解析库 。它拥有强大的解析能力,我们可以使用它更方便的从 HTML 文档中提取数据。
首先,放一下 Beautiful Soup 的官方网址,有各种问题都可以在官网查看文档,各位同学养成一个好习惯,有问题找官方文档,虽然是英文的,使用 Chrome 自带的翻译功能还是勉强能看的。
官方网站:https://www.crummy.com/software/BeautifulSoup/
安装方式依然使用 pip 进行安装:
pip install beautifulsoup4
Beautiful Soup 的 HTML 和 XML 解析器是依赖于 lxml 库的,所以在此之前请确保已经成功安装好了 lxml 库 。
验证:
C:\Users\inwsy>python Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from bs4 import BeautifulSoup
没报错就安装成功。
pyquery
pyquery 同样也是一个网页解析库,只不过和前面两个有区别的是它提供了类似 jQuery 的语法来解析 HTML 文档,前端有经验的同学应该会非常喜欢这款解析库。
首先还是放一下 pyquery 的官方文档地址。
官方文档: https://pyquery.readthedocs.io/en/latest/
安装:
pip install pyquery
验证:
C:\Users\inwsy>python Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import pyquery
没报错就安装成功。
本篇的内容就先到这里结束了。请各位同学在自己的电脑上将上面介绍的内容都安装一遍,以便后续学习使用。
相关推荐
- 无线wifi路由器怎么安装(请问无线路由器怎么安装)
-
安装的方法/步骤:1、怎么安装无线路由器呢?首先把网线的其中一头插入进光猫里面。2、接着用网线的另一头插入进无线路由器的蓝色接口处,这样就安装好无线路由器啦。3、点击打开电脑浏览器,输入路由器设置地址...
- fat32格式化精灵(格式化fat32格式工具)
-
内存卡格式化一般有两种方式:第一种是直接将内存卡插入手机的卡托,然后进入设置——运行及内存管理,点击格式化SD卡即可完成。当然有一些手机是不支持外置的内存卡插入,这就需要用OTG线插入手机,点击手机的...
- 外置光驱安装win7系统(外置光驱安装操作系统)
-
苹果电脑、电源适配器丶光盘装系统(电脑有光驱、或者外接光驱)光盘安装准备:win764位纯净版安装盘,如果使用的苹果电脑有光驱,优先使用自带光驱安装;如电脑没有光驱,可以是用外接USB光驱安装。光盘...
- win7x86是32位还是64位
-
32位win7x86是32位操作系统,win7x64是64位操作系统。扩展资料Windows7,中文名称视窗7,是由微软公司(Microsoft)开发的操作系统,内核版本号为WindowsNT...
- 用我告诉你安装win7(安装win7教程)
-
方法一:使用工具在线一键下载安装win7(win7正式版只需使用正版密钥激活即可)1、在电脑安装好小白一键重装系统工具打开,选择原版win7旗舰版系统,点击安装此系统。2、等待软件自动下载系统镜像文件...
- sd卡如何修复(如何修复sd卡视频教程)
-
修复SD卡的三个步骤如下:1.使用磁盘检测工具检查SD卡的错误:您可以使用Windows操作系统中自带的磁盘检查工具或第三方软件来检查并修复SD卡中的错误。2.格式化SD卡:如果检查后发现错误无法...
- 安卓手机杀毒软件哪个最好用
-
腾讯手机管家的守护老人安全功能版本我在用,我来说说吧。此版本是专门为守护老人安全设计推出的,不但有效拦截诈骗短信,电话,木马病毒,钓鱼网址,辟谣功能可以帮助老人立即分辨养生讯息,银行卡故障讯息,保险异...
- xp3用什么模拟器打开(xp3用什么模拟器打开好)
-
可以按照以下的步骤排查解决:首先,游戏必须要使kirikiri引擎,这点可以从文件中是否含有部分xp3后缀的文件来判断然后用模拟器打开date.xp3就行了,部分汉化游戏是直接打开exe程序如果遇到d...
- 固态硬盘用mbr还是guid(固态硬盘guid好还是mbr好)
-
如果电脑原装系统是win8或者以上的,那么硬盘分区表格式为GUID(GPT)格式的;如果是win7以下的,那么一般就是MBR的。主引导记录(MBR)是计算机开机后访问硬盘时所必须要读取的首个扇区,由分...
- 为什么fps大神都是400dpi(fps为什么高)
-
400DPI,在游戏里调节不同英雄的鼠标灵敏度,可以保证最小范围微调改动鼠标移动速度。因为DPI和灵敏度是乘积关系。举个例子:如果你玩麦克雷时鼠标DPI是3200,游戏内灵敏度是1。但你切换到源氏和闪...
- 系统集成项目管理工程师难考吗
-
系统集成项目管理工程师考试的普遍通过率是在10%左右,但是并不表示考试真的有那么难。因为考试本身没有报考条件的限制,且考试报名费用很低,很多人都不重视考试。所以通过率普遍偏低,只要你认真备考,有一...
- 360影视大全下载2025免费版(下载360影视大全最新版下载安装到手机版)
-
你好朋友360影视大全里的很多视频都是免费的,建议安装最新的360影视大全就可以了打开360视频,搜索自己需要的视频,点击360播放器右下角的下载箭头,即可将视频进行下载,下载完毕之后视频会保存在36...
- 360安全卫士手机版下载(360安全卫士官方免费下载手机版5.5.0)
-
相当靠谱360手机卫士是一款由奇虎网推出的功能强、效果好、受用户欢迎的上网安全软件。360安全卫士拥有查杀木马、清理插件、修复漏洞、电脑体检、保护隐私等多种功能,并独创了“木马防火墙”“360密盘”等...
- deepin和统信uos(统信和deepin的区别)
-
差不多。1Deepin原名LinuxDeepin、deepinos、深度操作系统,于2014年4月改名Deepin。deepin团队基于Qt/C++(用于前端)和Go(用于后端)开发了的全新深度桌...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
