zoukankan      html  css  js  c++  java
  • python爬虫环境1

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

    1.1 python3安装

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

       添加别名

    上面这两种安装方式任选其一即可完成安装,但如果之前安装过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:MongoDBServer3.4,在bin目录下新建同级目录data

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

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

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

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

      6 cmd 执行 mongod --bind_ip 0.0.0.0 --logpath "C:MongoDBServer3.4logsmongodb.log" --logappend --dbpath "C:MongoDBServer3.4datadb" --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接口,我们只需要请求接口即可获取新的代理,这样做简单、高效、实用

  • 相关阅读:
    为什么说 Java 程序员必须掌握 Spring Boot ?(转)
    Vert.x 之 HelloWorld
    Vert.x Web 文档手册
    Vert.x Core 文档手册
    Android数据存储五种方式总结
    设置简单的定时
    自定义dialog
    Android DrawerLayout 高仿QQ5.2双向侧滑菜单
    Fragments碎片
    理解Fragment生命周期
  • 原文地址:https://www.cnblogs.com/x2x3/p/10800988.html
Copyright © 2011-2022 走看看