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
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的。
2.zope_interface的安装.通过twised的下载页面:http://twistedmatrix.com/trac/wiki/Downloads 点击进行zope.interface,进入到http://pypi.python.org/pypi/zope.interface#download , 选择符合当前环境的可供下载的egg,
这里检查zope.interface是否安装成功,
3.同上,执行安装PyOpenSSL.在http://pypi.python.org/pypi/pyOpenSSL 这里,有
在执行验证是否安装成功:在python环境中,执行import OpenSSL,查看是否能正常执行在·导入。
4.安装twisted.回到twisted的下载链接:http://twistedmatrix.com/trac/wiki/Downloads,因为我们这里需要的是python2.6的对应的twisted版本。
3.按照scrapy官网,安装lxml.在scrapy 的http://doc.scrapy.org/intro/install.html#intro-install最下面的一段又关windows安装的情况。到这里点击关于lxml的选项,进入:http://users.skynet.be/sbi/libxml-python/ ,在这里我们选择了:
4.安装scrapy.进入scrapy 官网:http://scrapy.org/download/ 这个链接,点击Scrapy 0.12 on PyPI ,注意他后面可是有括号的,(include windows installers),表示点击这里也可以在windows下安装的。进入http://pypi.python.org/pypi/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属性的值.得到最终如果所示:
联系客服