scrapy学习笔记——scrapy目录含义

来源:互联网 发布:男士发蜡推荐 知乎 编辑:程序博客网 时间:2024/06/03 16:11

当一个scrapy项目被成功创建时,会自动生成一些文件。例如:

其中spiders文件夹用于存放自己编写的爬虫代码,而其他文件都是系统生成。

Items.py文件存放的是Item,而Item也就是提取到的数据的容器。

<span style="font-size:14px;">import scrapyclass FirstspiderItem(scrapy.Item):    name = scrapy.Field()</span>

Item中的内容是通过对解析的网站分析得到的,例如本例中只需要取得名称,那么就只定义一个name即可,如果还需要url,只要在加上一句url=scrapy.Field()即可。


在firstSpider/spiders目录下用于存放自己编写的爬虫,本例的example.py文件内容如下:

class ExampleSpider(scrapy.Spider):    name = "example"    allowed_domains = ["zhihu.com"]    start_urls = (        'http://www.zhihu.com/question/31810474#answer-16771792',    )    def parse(self, response):        filename = response.url.split("/")[-2]        print filename        with open(filename,"wb") as f:        f.write(response.body)

首先创建一个名字类似于xxxSpider()的类,并继承scrapy.Spider类,并自定义name、start_urls和parse()。

name是爬虫的名字,必须是唯一的。

start_urls是Spider在启动时进行爬取的url列表,所以起始url可以是多个。

parse()传入一个response参数,这个方法解析response数据,生成Item,以及需要进一步处理的URL的Request对象。

本例中filename实际上就是start_urls中的question单词。将读取到的页面内容保存到『question』文件中。


完成以上步骤,第一个页面就已经被爬下来了。

下一课学习页面解析。

0 0
原创粉丝点击