SCRAPY爬虫框架入门实例(一)
流程分析
抓取内容(百度贴吧:网络爬虫吧)
页面: http://tieba.baidu.com/f?kw=%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB&ie=utf-8
数据:1.帖子标题;2.帖子作者;3.帖子回复数
通过观察页面html代码来帮助我们获得所需的数据内容。
【注】scrapy的安装请参考 : http://blog.****.net/zjiang1994/article/details/52689144
一、工程建立
在控制台模式下进入你要建立工程的文件夹执行如下命令创建工程:
scrapy startproject hellospider
这里的scrapytest是工程名,框架会自动在当前目录下创建一个同名的文件夹,工程文件就在里边。
(如果你用过django就会发现这一幕何其相似)。
我的创建过程:
我们先看一下目录结构:
scrapy.cfg: 项目的配置文件
hellospider/: 该项目的python模块。之后您将在此加入代码。
hellospider/items.py:需要提取的数据结构定义文件。
hellospider/middlewares.py: 是和Scrapy的请求/响应处理相关联的框架。
hellospider/pipelines.py: 用来对items里面提取的数据做进一步处理,如保存等。
hellospider/settings.py: 项目的配置文件。
hellospider/spiders/: 放置spider代码的目录。
二、实现过程
1、在items.py中定义自己要抓取的数据:
1 2 3 4 5 6 7 8 |
|
【注】上面类中的title、author、reply就像是字典中的“键”,爬到的数据就像似字典中的“值”。
2、然后在spiders目录下编辑myspider.py那个文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
【注】xpath语法可参考:http://www.w3school.com.cn/xpath/xpath_syntax.asp
【注】:我们可以通过命令进入scrapy shell:
scrapy shell http://tieba.baidu.com/f?kw=%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB&ie=utf-8
来方便的查看我们xpath代码所获得的结果,以便调试。
3、执行命令 scrapy crawl [类中name值]
由于第二步中我们在类MySpider下定义了 name ="spidertieba" ,所以执行命令:scrapy crawl spidertieba -o items.json。 -o 指定文件。
这样我们就会看到此目录下生成了items.json文件
items.json文件的内容就是要爬取的内容。
简单查看一下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
部分结果截图:
至此,scrapy的最简单的应用就完成了。