小白学习Python爬虫(二):前期准备(一)基础类库的安装各位同学,可以先收藏一下再看~~开始说爬虫之前,还是先完善环境吧。欲善其事,必先利其器~~~本文主要介绍Python爬虫使用的请求库和解析库,请求库用于请求目标内容,解析库用于解析请求返回的内容。开发环境首先介绍一下小编的本地开发环境:Python3.7.4win10几乎是最基本的环境,其他环境需要我们一一安装,现在开始。请求库虽然Python为我们内置了HTTP请求库urllib,但是使用姿势不是很优雅,但是很多第三方提供的HTTP库确实更加简洁优雅,下面开始吧。RequestsRequests类库是第三方提供的用于发送HTTP同步请求的类库,比Python自带的urllib类库更方便简洁。Python为我们提供了包管理工具pip。用pip安装会很方便。安装命令如下:pipinstall请求验证:C:\Users\inwsy>pythonPython3.7.4(tags/v3.7.4:e09359112e,Jul82019,20:34:20)[MSCv.191664bit(AMD64)]在win32上键入“help”、“copyright”、“credits”或“license”以获得更多信息。>>>在cmd命令行先importrequests在python中输入python,进入python的命令行模式,然后输入importrequests。如果没有错误提示,说明我们已经成功安装了Requests类库。SeleniumSelenium现在更多的是作为一种自动化测试工具来使用,相关的书籍也很多。同时,我们也可以将其作为爬虫工具来使用。毕竟,它是自动化测试吗?使用它,我们可以让浏览器执行我们想要的动作,比如点击一个按钮,滚动一个滚轮等等,非常方便我们模拟真实的用户操作。安装命令如下:pipinstallseleniumv??erification:C:\Users\inwsy>pythonPython3.7.4(tags/v3.7.4:e09359112e,Jul82019,20:34:20)[MSCv.191664bit(AMD64)]onwin32Type"help","copyright","credits"or"license"formoreinformation.>>>importselenium这样我们就可以在不报错的情况下完成安装,但是你觉得这样就够了吗?图森的模式被打破了。对于ChromeDriver,我们还需要浏览器支持才能使用selenium。开发者,常用的浏览器有几个:Chrome,Firefox,说IE的同学,你给我站起来,小心我跳起来打你膝盖,还有说360浏览器的同学,别担心。接下来先不说安装Chrome浏览器了。...接下来,我们开始安装ChromeDriver。安装好ChromeDriver后,我们就可以通过刚刚安装的selenium驱动Chrome来完成各种操作。首先,我们需要检查Chrome浏览器的版本。在Chrome浏览器右上角三点钟位置,点击帮助->关于,如下图:找一个小笔记本记下这个版本。这里的版本是:Version78.0.3904.97(正式版)(64位)接下来我们需要去ChromeDriver官网查看当前Chrome对应的驱动。官网地址:https://sites.google.com/a/ch...由于某些原因,需要通过一定的方式才能访问,如果无法访问,请看小编为您准备的版本对应表。..ChromeDriverVersionChromeVersion78.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...虽然和编辑器的本地小版本不匹配,但是好像只要大版本匹配应该没有问题。所以,去镜像站下载对应的版本就可以了。小编这里下载的版本是:78.0.3904.70,ChromeDriverversion78最后一个小版本。下载完成后,将可执行文件chromedriver.exe移动到Python安装目录的Scripts目录下。如果使用默认安装,没有修改过安装目录,目录为:%homepath%\AppData\Local\Programs\Python\Python37\Scripts,如果修改过,那就靠自己了。..添加chromedriver.exe后,结果如下:验证:还是在CMD命令行输入:C:\Users\inwsy>pythonPython3.7.4(tags/v3.7.4:e09359112e,Jul82019,20:34:20)[MSCv.191664位(AMD64)]在win32上键入“help”、“copyright”、“credits”或“license”以获取更多信息。>>>fromseleniumimportwebdriver>>>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/ge...选择自己对应的环境。小编这里选择win-64,版本为v0.26.0下载。具体配置方法同上,将可执行的.exe文件放在%homepath%\AppData\Local\Programs\Python\Python37\Scripts目录下即可。验证:还是在CMD命令行输入:C:\Users\inwsy>pythonPython3.7.4(tags/v3.7.4:e09359112e,Jul82019,20:34:20)[MSCv.191664bit(AMD64)]onwin32Type"help","copyright","credits"or"license"formoreinformation.>>>fromseleniumimportwebdriver>>>browser=webdriver.Firefox()应该可以正常打开一片空白在FireFox页面,结果如下:注:GeckoDriver提示当前版本在win下存在已知bug,需要安装微软插件解决。原文如下:您仍然必须在系统上安装MicrosoftVisualStudio可再发行运行时才能运行二进制文件。这是一个我们无法为此版本修复的已知错误。插件下载地址:https://support.microsoft.com...请选择您对应的系统版本下载安装。Aiohttp上面我们介绍了同步Http请求库Requests,Aiohttp是一个提供异步Http请求的类库。那么,问题来了,什么是同步请求?什么是异步请求?同步:阻塞,简单理解就是当一个请求发出后,程序会等待请求响应,直到收到响应后才进行下一步。异步:非阻塞,还是上面的例子,当一个请求发出后,程序不会阻塞在这里,等待请求响应,而是可以做其他的事情。在资源消耗和效率上,同步请求肯定是不如异步请求的,这也是为什么异步请求比同步请求吞吐量大的原因。在取数据的时候使用异步请求,可以大大提高取数据的效率。如果你想了解更多关于aiohttp的信息,可以访问官方文档:https://aiohttp.readthedocs.i...。aiohttp的安装如下:pipinstallaiohttpaiohttp还推荐我们安装另外两个库,一个是字符编码检测库cchardet,一个是加速DNS的解析库aiodns。安装ccchardet库:pipinstallccchardetinstallaiodns库:pipinstallaiodnsaiohttp很贴心的为我们准备了集成的安装命令,不用一一敲命令,如下:pipinstallaiohttp[speedups]验证:C:\Users\inwsy>pythonPython3.7.4(tags/v3.7.4:e09359112e,Jul82019,20:34:20)[MSCv.191664bit(AMD64)]onwin32Type"help","copyright","credits"or"license"》获取更多信息>>>importaiohttp安装成功,没有报错。解析库lxmllxml是Python的一个解析库,支持HTML和XML解析,支持XPath解析方式,解析效率非常高。什么是XPath?XPath即XML路径语言(XMLPathLanguage),它是一种用来确定XML文档某部分位置的语言。XPath基于XML的树结构,提供了在数据结构树中查找节点的能力。XPath的初衷是将其用作XPointer和XSL之间的通用语法模型。以上内容的来源是《百度百科》嗯,小编说的是人话,是一种路径语言,可以从XML文档或者HTML文档中快速定位到想要的位置。还没看懂?emmmmmmmmmmm,我们可以使用XPath从XML或HTML文档中快速提取所需的值。后面再说用法。安装lxml库:pipinstalllxml验证:C:\Users\inwsy>pythonPython3.7.4(tags/v3.7.4:e09359112e,Jul82019,20:34:20)[MSCv.191664bit(AMD64)]在win32上键入“help”、“copyright”、“credits”或“license”以获得更多信息。>>>importlxml没有报错,安装成功。BeautifulSoupBeautifulSoup也是一个PythonHTML或XML解析库。它具有强大的解析能力,我们可以用它更方便地从HTML文档中提取数据。首先放上美丽汤的官网。遇到各种问题可以查看官网文档。学生应养成良好的习惯。有问题可以找官方文档。手表。官网:https://www.crummy.com/softwa...安装方式还是使用pip安装:pipinstallbeautifulsoup4BeautifulSoup的HTML和XML解析器依赖lxml库,所以请确保安装成功之前安装了lxml库。验证:C:\Users\inwsy>pythonPython3.7.4(tags/v3.7.4:e09359112e,Jul82019,20:34:20)[MSCv.191664bit(AMD64)]onwin32Type"help","copyright”、“credits”或“license”以获得更多信息。>>>frombs4importBeautifulSoup安装成功,没有报错。pyquerypyquery也是一个网页解析库,但与前两者的区别在于它提供了一种类jQuery的语法来解析HTML文档。有前端经验的同学应该很喜欢这个解析库。首先放上pyquery的官方文档地址。官方文档:https://pyquery.readthedocs.i...安装:pipinstallpyquery验证:C:\Users\inwsy>pythonPython3.7.4(tags/v3.7.4:e09359112e,Jul82019,20:34:20)[MSCv.191664位(AMD64)]在win32上键入“help”、“copyright”、“credits”或“license”以获取更多信息。>>>importpyquery没有报错,安装成功。本文内容先到此结束。请所有同学在自己的电脑上安装以上介绍的所有内容,以供后续学习使用。如果我的文章对你有帮助,欢迎扫描二维码关注作者的公众号:获取最新干货推送:)
