Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。
Scrapy 使用 Twisted这个异步网络库来处理网络通讯,架构清晰,并且包含了各种中间件接口,可以灵活的完成各种需求。
Scrapy
首先祭上scrapy的工作流程图。
我们暂时不去管scrapy的设计,先看看怎么用先。
在命令终端输入
123 scrapy startproject dangdangcd dangdangscrapy genspider dangdangwang dangdang.com解释一下上面的命令的含义,startporject是新建一个工程,cd就是到新建的工程项目文件夹下,genspider是依照模板生成一个爬虫,默认状态是basic模板。
在工程文件夹下的终端输入tree就可以得到如下的文件,如果输入tree显示找不到该命令的话,先安装一个小软件,apt-get install tree ,附上tree的手册tree(1) - Linux man page
1234567891011121314151617181920 tree.├── 201708260.txt├── dangdang│ ├── __init__.py│ ├── __init__.pyc│ ├── items.py│ ├── items.pyc│ ├── middlewares.py│ ├── pipelines2excel.py│ ├── pipelines.py│ ├── pipelines.pyc│ ├── settings.py│ ├── settings.pyc│ └── spiders│ ├── dangdangwang.py│ ├── dangdangwang.pyc│ ├── __init__.py│ └── __init__.pyc└── scrapy.cfg文件布局如上面树所示
开始工作
修改item.py文件
item.py是定义scrapy抓取信息的地方,相当与你在这里要为你想得到的每一种信息都要取一个名字,名字当然是见字知意最好了。
|
|
修改dangdangwang.py文件
dangdangwang.py文件位于spiders文件夹下,是爬虫的主要行为,他定义了如何去定位信息,把什么信息赋值给哪个item。
|
|
修改pipelines.py
pipelines.py文件是定义了爬取的数据如何保存的文件,就像他的名字一样,数据的管道。
|
|
这里定义的是将数据保存到一个txt记事本。效果如图所示