《Python3网络爬虫开发实战》笔记 第1章 开发环境配置

这章主要是为网络爬虫做准备,配置一个开发环境, 为了方便,操作系统为Windows

1.1 安装Python3

       主要安装Anaconda 3 64bit

 

1.2 请求库安装 (浏览器方面)

      爬虫可以分为简单几步: 抓取页面,分析页面和存储数据。

     requests库: 在抓取页面过程中,我们需要模拟浏览器向服务器发出请求。

     安装方法:  pip3 install requests


    selenium库: 一个自动化测试工具,利用它可以驱动浏览器执行特定的动作。如点击、下拉等操作。

     安装方法: pip3 install selenium

    


      安装Chrome浏览器或ChromeDriver驱动,与Selenium对接

      在 http://npm.taobao.org/mirrors/chromedriver/ 下载chromeDriver

      下载后,将chromedriver.exe 复制到 C:\Users\yunys\AppData\Local\Continuum\Anaconda3\Scripts

      测试是否成功: 启动python

      from  selenium import webdriver

      browse = webdriver.Chrome()

      就会弹出一个空白的Chrome浏览器。


     对于Firefox来说,就需要安装GeckoDriver,与Selenium对接

     在 https://github.com/mozilla/geckodriver/releases/tag/v0.23.0    下载geckodriver-v0.23.0-win64.zip

     下载后,将geckodriver.exe 复制到 C:\Users\yunys\AppData\Local\Continuum\Anaconda3\Scripts

      测试是否成功: 启动python

      from  selenium import webdriver

      browse = webdriver.Firefox()

     若未能启动Firefox成功,必须要安装一个 VC_redist.x64 的程序,看GeckoDriver安装说明。

    https://github.com/mozilla/geckodriver/releases

   

     安装重启后,执行以上命令即可弹出Firefox。


     PhantomJS是一个无界面的、可脚本编程的WebKit浏览器引擎,它原生支持多种Web标准:DOM操作,CSS选择器、JSON、Canvas以用SVG。

      在 https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-windows.zip   下载

      将phantomjs.exe 复制到 C:\Users\yunys\AppData\Local\Continuum\Anaconda3\Scripts

     requests库是一个阻塞式HTTP请求库, 而aiohttp是一个提供异步Web服务的库。

     安装: pip3 install aiohttp    

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

     pip3 install cchardet aiodns


1.3 解析库的安装

    抓取网页代码后,下一步就是从网页中提取信息,使用正则来提取。

    lxml是Python的一个解析库,支持HTML和XML解析,支持XPath解析方法。

   安装:  pip3  install lxml

   Beautiful Soup是Python的一个HTML或XML的解析库,从网页中提取数据。

   安装:  pip3  install beautifulsoup4

    >>> from bs4 import BeautifulSoup
    >>> soup = BeautifulSoup('<p>Hello</p>','lxml')
     >>> print(soup.p.string)
     Hello

    pyquery一个强大的网页解析工具。

    安装:  pip3 install  pyquery

    tesserocr,  在爬虫过程中,有各种各样的验证码,可通过tesserocr来识别验证码,

    tesserocr是python的一个OCR识别库,是对tesseract做的一层PythonAPI封装,核心是tesseract,在安装tesserocr之前需要先安装tesseract.

    安装tesseract:  https://digi.bib.uni-mannheim.de/tesseract/ 

                                下载 tesseract-ocr-setup-3.05.01.exe

      tesseract  --list-langs    显示支持的语言

      测试tesseract是否安装成功

     >tesseract f:\image.png result -l eng

       Tesseract Open Source OCR Engine v3.05.01 with Leptonica

      >type result.txt
       Python3WebSpider

     ----------------------------------------------------------------------------------------

      安装tesserocr比较麻烦,步骤如下:

      进入Python,查看pip支持版本

      import  pip

     import pip._internal

     print(pip._internal.pep425tags.get_supported())

    显示如下:

      [('cp35', 'cp35m', 'win_amd64'), ('cp35', 'none', 'win_amd64'), ('py3', 'none','win_amd64'),......]

     根据以上红色内容,在  https://github.com/simonflueckiger/tesserocr-windows_build/releases  查找

      tesserocr-2.2.2-cp35-cp35m-win_amd64.whl  下载

      然后,pip3 install tesserocr-2.2.2-cp35-cp35m-win_amd64.whl, 就将tesserocr安装完成

      再安装 pillow

      pip3 install pillow

      最关键一步:将 C:\Program Files (x86)\Tesseract-OCR 安装目录下的 tessdata 目录拷贝到

       C:\Users\yunys\AppData\Local\Continuum\Anaconda3  Anaconda3的安装目录

       测试tesserocr是否安装成功

        >>> import tesserocr
        >>> from PIL import Image    #PIL 就是 pillow
        >>> image = Image.open('f:\image.png')
        >>> print(tesserocr.image_to_text(image))
        Python3WebSpider

 

1.4 数据库安装

       数据库我选 MySQL,  具体方法这里不说了。

       在Python3中,将数据存储到MySQL中,需要借助PyMySQL来操作。

       安装: pip3 install pymysql

        验证安装是否成功

        >>> import pymysql
        >>> pymysql.VERSION
         (0, 9, 2, None)

        >>> db = pymysql.connect('localhost','root','mysql','review')
        >>> cursor = db.cursor()

        >>> cursor.execute("use review")
         >>> cursor.execute("select fhbh from reviewprj limit 3")
        3
         >>> results = cursor.fetchall()
          >>> for row in results:
.                     print(row[0])

            复核〔2013〕0636号
            复核〔2013〕0637号
            复核〔2013〕0638号
            >>>  ##成功!

         这里学习一下Redis

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

         下载:  https://github.com/MicrosoftArchive/redis/releases  ,下载 Redis-x64-3.2.100.msi

         Redis的端口是 6379, 安装后,Redis会以服务的方式在后台运行。

         为了管理方便,需要安装一个 Redis Desktop Manager.  

          下载:  https://github.com/uglide/RedisDesktopManager/releases/tag/0.8.8 

          redis-desktop-manager-0.8.8.384.exe

         Python与redis交互用 redis-py

         安装: pip3 install redis

 

1.5  Web库的安装

         Flask是一个轻理级的Web服务程序

         安装:  pip3 install flask

         验证安装成功

         >>> app = Flask(__name__)
         >>> @app.route("/")
                 def hello():
                      return "Hello world"

          >>> if __name__ == "__main__":
                     app.run()
           * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

     Tornado是一个支持异步的Web框架,通过使用非阻塞I/O流。  

     安装: pip3 install   tornado

       测试安装成功

       import tornado.ioloop

       import tornado.web

        class MainHandler(tornado.web.RequestHandler):
                    def get(self):
                    self.write("Hello , world")

         def make_app():
                return tornado.web.Application([
                      (r"/", MainHandler),
                ])

          if __name__ == "__main__":
                  app = make_app()
                  app.listen(8888)
                 tornado.ioloop.IOLoop.current().start()

 

1.6 爬虫框架的安装

      pyspider: 国人编写的强大的网络爬虫框架,带有强大的WebUI,脚本编辑器,任务控制器、项目管理器和结果处理器。

      安装: pip3   install  pyspider

      scrapy: 另一个爬虫框架

      安装: conda  install Scrapy

 

      大部分的安装环境和配置已完成,待在以后发现运行有问题再回来修改! 

        

 

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值