• 安装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环境下的配置。

  • 相关阅读:
    CSS3实现10种Loading效果(转)
    Editorial Board 、co-editor、ediitor、editor-in-chief的区别
    Android必知必会-使用okhttp的PUT方式上传文件
    Android项目开发填坑记-so文件引发的攻坚战
    Android开发学习之路--RxAndroid之操作符
    Libgdx教程目录
    Android开发学习之路--RxAndroid之lambda
    Android开发学习之路--RxAndroid之初体验
    Android必知必会-获取视频文件的截图、缩略图
    Android开发学习之路--Annotation注解简化view控件之初体验
  • 原文地址:https://www.cnblogs.com/CLTANG/p/2098531.html
Copyright © 2020-2023  润新知