小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装

人生苦短,我用 Pythoncss

前文传送门:html

小白学 Python 爬虫(1):开篇python

小白学 Python 爬虫(2):前置准备(一)基本类库的安装git

小白学 Python 爬虫(3):前置准备(二)Linux基础入门github

小白学 Python 爬虫(4):前置准备(三)Docker基础入门web

小白学 Python 爬虫(5):前置准备(四)数据库基础shell

小编,你还有完没完!!!前置准备都准备这么多了,还不开始正文!!!数据库

别急别急,前置准备的最后一篇了,咱们这几篇总共介绍了基本类库的安装、 Linux 基础、 Docker 基础和本篇的爬虫框架的安装。主要是内容有些多,小编怕写在一块儿各位同窗看不下去,因此才分红多篇内容(悄悄的说,这样小编也能多推几天嘛)。后端

pyspider 安装

pyspider 是由国人 binux 开源的强大的网络爬虫框架。 pyspider 自带 WebUI (这个很关键),这样咱们能够实时的看到更多的数据,而且它还带有脚本编辑器、任务监控器、项目管理器以及结果处理器,同时支持多种数据库后端、多种消息队列,还支持JavaScript渲染页面的爬取,异常强大。api

Github 连接: https://github.com/binux/pyspider

官方文档: http://docs.pyspider.org/

开始安装,咱们仍是使用 pip 进行安装:

pip install pyspider复制代码

若是各位是跟着小编一步一步装环境的话,这里应该会报错。会报咱们安装 pycurl 失败。这里咱们须要使用 wheel 进行安装。

第一步,安装 wheel 。

pip install wheel复制代码

下载 pycurl 的 wheel 文件进行安装,下载站点:http://www.lfd.uci.edu/~gohlke/pythonlibs/ ,找到对应的 wheel 文件版本。好比小编这里的电脑是 win64 , python3.7 ,那么就下载 pycurl‑7.43.0.3‑cp37‑cp37m‑win_amd64.whl 这个文件。

小编这里将下载好的文件放到了 D 盘的跟目录,顾使用如下命令安装。

pip install D:\pycurl-7.43.0.3-cp37-cp37m-win_amd64.whl复制代码

安装完成后,从新执行上面的安装语句。

pip install pyspider复制代码

静静等待进度条读完,完成后能够直接在命令行下启动 pyspider ,命令以下:

pyspider all复制代码

而后发现,启动报错了,错误内容以下:

SyntaxError: invalid syntax复制代码

由于 async 和 await 从 python3.7 开始已经加入保留关键字中。因此async不能做为函数的参数名。

因此咱们须要修改 pyspider 代码中有用到 async 的地方,具体路径为:

修改 `%homepath%AppDataLocalProgramsPythonPython37Libsite-packagespyspider` 路径下的 python 文件中的 async 为 async1 (所有替换)

  1. run.py
  2. fetchertornado_fetcher.py
  3. webuiapp.py

修改完成后,再执行 pyspider all ,发现仍是报错,这不过此次的错误换成了:

ValueError: Invalid configuration: - Deprecated option 'domaincontroller': use 'http_authenticator复制代码

缘由是由于 WsgiDAV 发布了版本 pre-release 3.x。

解决办法:

仍是在刚才的路径中找到webui文件里面的 webdav.py 文件打开,修改第 209 行。

将:

'domaincontroller': NeedAuthController(app),复制代码

修改成:

'http_authenticator':{
    'HTTPAuthenticator':NeedAuthController(app),
},复制代码

而后再执行 pyspider all ,发现仍是起不来,这是由于 pyspider 有依赖 PhantomJS ,咱们再去下载 PhantomJS 进行安装,下载路径为:https://phantomjs.org/download.html ,下载完成后,从压缩包中将可执行文件 phantomjs.exe 放入 %homepath%AppDataLocalProgramsPythonPython37Scripts ,有没有感受很熟悉,对嘞,这个和以前的 Chrome 的驱动文件放的是同一个位置。

此次咱们输入 pyspider all 进行启动,此次应该能够启动成功,而后打开浏览器访问:http://localhost:5000/ ,能够看到以下页面:

证实咱们的 pyspider 已经安装成功了。

Scrapy 安装

Scrapy 这个就不用我介绍了吧,鼎鼎大名,接下来咱们主要介绍安装过程。

Scrapy 官网: https://scrapy.org/

各位同窗的电脑环境应该和小编的相差不远(若是是使用 win10 的话),小编也没有背着各位同窗装过其余东西。

安装命令:

pip install scrapy复制代码

因为 Scrapy 依赖了大量的第三方的包,因此在执行上面的命令后并不会立刻就下载 Scrapy ,而是会先不断的下载第三方包,包括并不限于如下几种:

  • pyOpenSSL:Python 用于支持 SSL(Security Socket Layer)的包。
  • cryptography:Python 用于加密的库。
  • CFFI:Python 用于调用 C 的接口库。
  • zope.interface:为 Python 缺乏接口而提供扩展的库。
  • lxml:一个处理 XML、HTML 文档的库,比 Python 内置的 xml 模块更好用。
  • cssselect:Python 用于处理 CSS 选择器的扩展包。
  • Twisted:为 Python 提供的基于事件驱动的网络引擎包。
  • ......

等待命令执行完成后,直接输入 scrapy 进行验证。

Scrapy 1.8.0 - no active project

Usage:
  scrapy <command> [options] [args]

Available commands:
  bench         Run quick benchmark test
  fetch         Fetch a URL using the Scrapy downloader
  genspider     Generate new spider using pre-defined templates
  runspider     Run a self-contained spider (without creating a project)
  settings      Get settings values
  shell         Interactive scraping console
  startproject  Create new project
  version       Print Scrapy version
  view          Open URL in browser, as seen by Scrapy

  [ more ]      More commands available when run from project directory

Use "scrapy <command> -h" to see more info about a command复制代码

若是能正常出现以上内容,说明咱们已经安装成功了。

由于小编电脑安装 Scrapy 未出现其余问题,一切都很顺利,没法作其余有问题状况的演示,理论上 Scrapy 安装出现各类问题才算正常状况,小编这种一次过的只能说是运气好。

前置准备到这里就所有结束,咱们接下来开始介绍 HTTP 基础。

参考

http://c.biancheng.net/view/2745.html

https://cuiqingcai.com/5407.html

若是个人文章对您有帮助,请扫码关注下做者的公众号:获取最新干货推送:)
相关文章
相关标签/搜索