zoukankan      html  css  js  c++  java
  • 安装scrapy的方法详解

      scrapy在国内目前使用的人比较少,除了他比较新以外,还在于他本身还有很多弊端,比如:需要的支持包比较多,这些支持包相互之间的依赖关系,导致人们在安装他的时候各种吐血,而且吐血了还不一定又正确的结果!所以,今天趁自己需要换工作环境,记录点滴。

      本次安装使用的系统环境是windows xp。以下给出具体步骤。我想如果照做一定能够成功哦。

      1.安装python2.6.这里选择的是python2.6,为什么选择这个版本,首先,scrapy官网上明确写出:requirements:

    Python 2.5, 2.6, 2.7 (3.x is not yet supported), 即目前只支持python2.5,2.6,2.7.3以上版本的python还不支持.而本人在从前使用scrapy开发的过程种发现2.5仍然又某些bug,具体的就暂时不说了。http://www.codepub.com/software/Python-12776.html 由于python官网偶尔打不开(打不开我想你懂的!),所以给了个国内的下载链接,这个链接也又可能又一天不能使用。所以需要同学们自己下了。安装python,解压后得到右边图标,双击安装,几乎不用设置就能成功,也就是说在这里如果你python环境都不会安装的话,就没必要在看后面的了,所以python的安装我真的想偷懒了。不过还是要说环境变量设置上,在我的电脑-》高级环境变量里的path种设置刚才我安装的pyton的根文件目录,这里将C:\Python26加入到环境变量:,到这里安装python结束,在cmd模式下输入执行python,产生下面的类似的画面表示python安装成功.

      2.按照python官网准备安装twisted.

        twisted的安装方法,安装twisted先需要zope.interface,PyopenSSL,这2个第三方包。而通过twisted官网上,我们可以看见下载的都是zope.interface,PyopenSSL等都是egg文件,那么在这里我们就先需要setuptools工具.

        1.在这里下载:http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11.win32-py2.6.exe 这些我给出的链接只是我当前找到的我能使用的,加入你不好使,可以尝试换一个,秉承一个原则是即是setuptools工具又是对于py2.6的。,双击这个图标执行。那么执行后在python根目录下的scripts文件夹里就会有easy_install.py等文件了,都带有easy_install字眼。easy_install工具安装完成。

        2.zope_interface的安装.通过twised的下载页面:http://twistedmatrix.com/trac/wiki/Downloads 点击进行zope.interface,进入到http://pypi.python.org/pypi/zope.interface#download , 选择符合当前环境的可供下载的egg,这里我们选择zope.interface-3.6.3-py2.6-win32.egg(md5),下载后是这样的一个文件,这时候把这个egg文件拷贝进入刚才我们说道的python根目录下的scripts目录,同easy_installs等文件一个目录位置。然后进入cmd模式,在cmd模式下进入这个script目录,执行easy_install.py  egg文件名,执行安装这个egg文件。

        这里检查zope.interface是否安装成功,,在python环境中执行import zope.interface,加入不报错误,那么说明zope.interface安装正确。

        3.同上,执行安装PyOpenSSL.在http://pypi.python.org/pypi/pyOpenSSL 这里,有这些版本的pyOpenSSL供你选择。在这里我们选择pyOpenSSL-0.12-py2.6-win32-egg(md5),下载得到的egg文件,按刚才安装zope.interface的方法,在安装pyOpenSSL,先将下载到的pyOpenSSL,拷贝到scripts文件夹中,然后进入到cmd模式下,在cmd模式中进入到对应的scripts文件夹下,执行easy_install.exe pyOpenSSL-0.12-py2.6-win-amd64.egg ,进行安装。效果图为

    在执行验证是否安装成功:在python环境中,执行import OpenSSL,查看是否能正常执行在·导入。加入不报一场或错误,则表示安装正确。

        4.安装twisted.回到twisted的下载链接:http://twistedmatrix.com/trac/wiki/Downloads,因为我们这里需要的是python2.6的对应的twisted版本。这里我们选择了第二个的exe版本。下载后双击就能安装.安装过程是自动执行的。所以也就不做过多说明,又可能发生的错误是版本对应不一致,是因为你没有选择当前和你python对应的版本的twisted.到这里twisted安装完成,但是具体是否还有问题,我们不能急于的下结论,因为当前的支持包已经有4种了,分别是setuptools,zope.interface,pyOpenSSL,twisted,而在twisted中不是还有一个 PyCrypto 2.0.1 for Python 2.5 吗?我们并没有理他,我在这里因为是使用了python2.6版本,所以先暂时不理他,但是能完全不理他吗?因为我们并不确定这个包起到的作用,或者,在python.26里,或者在对应于python26版本的twisted是否存在PyCrypto 2.0.1.或者是替代他的作用的包。所以只能说暂时,到时候在实际开发过程中如果有任何问题在考虑之。

      3.按照scrapy官网,安装lxml.在scrapy 的http://doc.scrapy.org/intro/install.html#intro-install最下面的一段又关windows安装的情况。到这里点击关于lxml的选项,进入:http://users.skynet.be/sbi/libxml-python/ ,在这里我们选择了:第二项,又libxml for python2.6等关键字.安装后在python环境中执行import libxml2,如果未报错,表示正确。

      4.安装scrapy.进入scrapy 官网:http://scrapy.org/download/ 这个链接,点击Scrapy 0.12 on PyPI ,注意他后面可是有括号的,(include windows installers),表示点击这里也可以在windows下安装的。进入http://pypi.python.org/pypi/Scrapy 这个页面,点击这里关于exe的格式,进行下载。下载后直接进行双击就可以执行了。这个时候查看是否在python目录下的第三方目录中(即site-package)中是否有关于scrapy的文件夹了,然后在cmd模式中任意目录输入scrapy,这时候提示出错误,是需要把python根目录下的script目录设置到环境变量中。,然后重新打开一个cmd窗口,在任意位置执行scrapy命令,得到下列页面,表示环境配置成功.

    5.关于项目,比如抓取百度搜索引擎上的列表信息吧。

      1.创建项目.

        a.在cmd窗口中,选择一个路径。在这里我选择了F:\workspace,在这里新建一个主机的项目:scrapy startproject mobile 表示创建一个项目,根目录名为mobile.,如果没有报出错信息,那么表示项目新建成功。通过文件管理,我们可以明确的看到又这样的一个文件系统已经生成,并且在对应的文件夹下又对应的文件。

      2.初步应用

        初步爬虫这里只写一个最简单的爬虫,假如你遇到棘手的问题,可以同我沟通,我会尽力而为的帮你。

        1.在spider文件夹下新建一个文件,该文件名为baidu.py,而里面的内容为:

    from scrapy.spider import BaseSpider

    class BaiduSpider(BaseSpider):
    name
    = "baidu.com"
    allowed_domains
    = ["baidu.com"]
    start_urls
    = ["http://www.baidu.com/s?wd=%CA%D6%BB%FA&inputT=2110"]

    def parse(self, response):
    filename
    = response.url.split("/")[-2] + '.html'
    open(filename,
    'wb').write(response.body)

    那么这里就会在项目根目录生成一个www.baidu.com.html文件名的html文件,在cmd模式下,进入项目根目录,即与scrapy.cfg同目录下,执行scrapy crawl baidu.com  注意这里baidu.com是对应BaiduSpider类下的name属性的值.得到最终如果所示:

      ,最终我们将在mobile根目录下发现www.baidu.com.html文件,里面会又对应的html内容.这次先这样了,改天说说linux环境下的配置。

  • 相关阅读:
    游标cursor
    SQL: EXISTS
    LeetCode Reverse Integer
    LeetCode Same Tree
    LeetCode Maximum Depth of Binary Tree
    LeetCode 3Sum Closest
    LeetCode Linked List Cycle
    LeetCode Best Time to Buy and Sell Stock II
    LeetCode Balanced Binary Tree
    LeetCode Validate Binary Search Tree
  • 原文地址:https://www.cnblogs.com/CLTANG/p/2098531.html
Copyright © 2011-2022 走看看