转载 https://cuiqingcai.com/5052.html

1.1 python3安装

   配置环境变量;随后点击“新建”,新建一个条目,将刚才复制的C:\Python36复制进去。这里需要说明的是,此处的路径就是你的Python 3安装目录,请自行替换。然后,再把C:\Python36\Scripts路径复制进去

   添加别名

上面这两种安装方式任选其一即可完成安装,但如果之前安装过Python 2的话,可能会导致版本冲突问题,比如在命令行下输入python就不知道是调用的Python 2还是Python 3了。为了解决这个问题,建议将安装目录中的python.exe复制一份,命名为python3.exe,这样便可以调用python3命令了。实际上,它和python命令是完全一致的,这样只是为了可以更好地区分Python版本;在“开始”菜单中搜索cmd,找到命令提示符,此时就进入命令行模式了。输入python,测试一下能否成功调用Python。如果添加了别名的话,可以输入python3测试,就调用了python3

1.2 请求库的安装

  爬虫可以简单分为几步:抓取页面、分析页面和存储数据,用到一些Python库来实现HTTP请求操作;用到的第三方库有Requests、Selenium和aiohttp等

1.2.1 request的安装

  安装方式 1 wheel 安装是Python的一种安装包,其后缀为.whl,在网速较差的情况下可以选择下载wheel文件再安装,然后直接用pip3命令加文件名安装即可,下载对应的库的whl文件,切换到相应的目录执行 wheel文件目录,利用pip安装即可 如 pip3 install requests-2.17.3-py2.py3-none-any.whl

  pip 安装  命令行下执行  pip install requests

  源码安装  git clone git://github.com/kennethreitz/requests.git   ;cd request  执行 python3 setup.py install即可安装

1.2.2 selenium 的安装

  pip install selenium

1.2.3 ChromeDriver驱动的配置

  安装ChromeDriver。因为只有安装ChromeDriver,才能驱动Chrome浏览器完成相应的操作,下载浏览器对应版本号的ChromeDriver,可以直接将chromedriver.exe文件拖到Python的Scripts目录下;配置完成后,就可以在命令行下直接执行chromedriver命令进行测试;弹出如下

  Starting ChromeDriver 2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8) on port 9515

  Only local connections are allowed.

  最新的Chrome浏览器版本已经支持无界面模式了

1.2.4 GeckoDriver安装

  同ChromeDriver;配置完成后,就可以在命令行下直接执行geckodriver命令测试,会弹出相关提示

1.2.5  PhantomJS   最新的Chrome浏览器版本已经支持无界面模式了

1.2.6 aiohttp

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

aiohttp就是这样一个提供异步Web服务的库,从Python 3.5版本开始,Python中加入了async/await关键字,使得回调的写法更加直观和人性化。aiohttp的异步操作借助于async/await关键字的写法变得更加简洁,架构更加清晰

pip3 install aiohttp

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

pip3 install cchardet aiodns

1.3 解析库

  抓取网页代码之后,下一步就是从网页中提取信息。提取信息的方式有多种多样,可以使用正则来提取,但是写起来相对比较烦琐。这里还有许多强大的解析库,如lxml、Beautiful Soup、pyquery等。此外,还提供了非常强大的解析方法,如XPath解析和CSS选择器解析等,利用它们,我们可以高效便捷地从网页中提取有效信息

1.3.1 lxml

  lxml是Python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高

  windows 安装  pip3 install lxml

1.3.2 Beautiful Soup

  是Python的一个HTML或XML的解析库,我们可以用它来方便地从网页中提取数据。它拥有强大的API和多样的解析方式

  Beautiful Soup的HTML和XML解析器是依赖于lxml库的,所以在此之前请确保已经成功安装好了lxml库

  pip3 install beautifulsoup4

  我们虽然安装的是beautifulsoup4这个包,但是在引入的时候却是bs4。这是因为这个包源代码本身的库文件夹名称就是bs4,所以安装完成之后,这个库文件夹就被移入到本机Python3的lib库里,所以识别到的库文件名就叫作bs4。

1.3.3

  pyquery同样是一个强大的网页解析工具,它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器

  pip3 install pyquery

1.3.4

  OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是一些不规则的字符,这些字符确实是由字符稍加扭曲变换得到的内容;tesserocr是Python的一个OCR识别库,但其实是对tesseract做的一层Python API封装,所以它的核心是tesseract。因此,在安装tesserocr之前,我们需要先安装tesseract

  https://cuiqingcai.com/5189.html

  pip3 install tesserocr pillow  

1.4  数据库

  为数据存储的重要部分,数据库同样是必不可少的,数据库可以分为关系型数据库和非关系型数据库

  关系型数据库如SQLite、MySQL、Oracle、SQL Server、DB2等,其数据库是以表的形式存储,非关系型数据库如MongoDB、Redis,它们的存储形式是键值对,存储形式更加灵活

  mysql 的安装

1.4.2 mongodb数据库

  https://cuiqingcai.com/5205.html

  1 下载mongodb msi 安装包直接安装

  2 安装成功之后,进入MongoDB的安装目录,此处是C:\MongoDB\Server\3.4,在bin目录下新建同级目录data

  3 然后进入data文件夹,新建子文件夹db来存储数据目录 

  4 之后打开命令行,进入MongoDB安装目录的bin目录下,运行MongoDB服务   mongod --dbpath "C:\MongoDB\Server\3.4\data\db" ;cmd会出现相关信息

  5 在“开始”菜单中搜索cmd,找到命令行,然后右击它以管理员身份运行即可。

  随后新建一个日志文件,在bin目录新建logs同级目录,进入之后新建一个mongodb.log文件,用于保存MongoDB的运行日志

  6 cmd 执行 mongod --bind_ip 0.0.0.0 --logpath "C:\MongoDB\Server\3.4\logs\mongodb.log" --logappend --dbpath "C:\MongoDB\Server\3.4\data\db" --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install

  7 这里的意思是绑定IP为0.0.0.0(即任意IP均可访问),指定日志路径、数据库路径和端口,指定服务名称

  8 如果没有出现错误提示,则证明MongoDB服务已经安装成功,可以在服务管理页面查看到系统服务

  9 然后就可以设置它的开机启动方式了,如自动启动或手动启动等,这样我们就可以非常方便地管理MongoDB服务了。

   10 启动服务后,在命令行下就可以利用mongo命令进入MongoDB命令交互环境了,如图1-38所示。

1.4.3 redis

  Redis是一个基于内存的高效的非关系型数据库

  下载地址   https://github.com/MSOpenTech/redis/releases

  在系统服务页面里,可以观察到多了一个正在运行到Redis服务

  安装后,直接连接本地Redis即可

1.5  数据库想要和Python交互的话,还需要安装一些Python存储库,如MySQL需要安装PyMySQL,MongoDB需要安装PyMongo

1.5.1  pymysql

  pip3 install pymysql

1.5.2  mongodb

  pip3 install pymongo

1.5.3  redis  

  对于Redis来说,我们要使用redis-py库来与其交互

  pip3 install redis

1.5.4  RedisDump

  RedisDump是一个用于Redis数据导入/导出的工具,是基于Ruby实现的,所以要安装RedisDum

1.6  web库

  在本书中,我们主要使用这些Web服务程序来搭建一些API接口,供我们的爬虫使用。例如,维护一个代理池,代理保存在Redis数据库中,我们要将代理池作为一个公共的组件使用,那么如何构建一个方便的平台来供我们获取这些代理呢?最合适不过的就是通过Web服务提供一个API接口,我们只需要请求接口即可获取新的代理,这样做简单、高效、实用

最新文章

  1. mysql查询一个小知识点,查询结果是空与查询出错是不一样的
  2. Base64简介
  3. OO基本原则
  4. php基础面试题1
  5. Dynamics AX 2012 R2 AIF自定义服务中的事务回滚Bug
  6. xml scheme 示例解析
  7. windows环境下 svn 客户端
  8. mongoDB 使用手册
  9. Ext comboBox的remote和local的区别
  10. 【Cardboard】 体验 - Google Cardboard DIY及完成后简单体验
  11. SFTP CONFIGURATION IN FLASHFXP PROGRAM
  12. lucene 简单搜索步骤
  13. Python 实现auto linlink 连连看
  14. Linux安装JDK(rpm)
  15. Windows 远程栈溢出挖掘与利用
  16. java调用高德地图api实现通过ip定位访问者的城市
  17. putty adb
  18. Dijkstra 算法,用于对有权图进行搜索,找出图中两点的最短距离
  19. [BAT]cmd命令之 cd /d %~dp0
  20. 带你走近WebSocket协议

热门文章

  1. [css]等高列的简单实现
  2. GitHub区域和工作流程
  3. numpy 数组中添加新元素
  4. jQuery遍历之同级遍历
  5. python字符转化
  6. CPU的历史
  7. 03-树2 List Leaves(25 分)
  8. 2019牛客多校第五场H - subsequence 2 拓扑
  9. js与android原生交互
  10. ABP的新旧版本