爬虫框架scrapy ,在初步接触的过程中记录下学习过程。今天是初步的学习笔记。当然在前期的学习过程中,随着不断的深入,初步的理解可能会错误,但会在后续的各章中持续深入。
本文参考了 http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html
scrapy框架是用作爬虫的一个框架。以下为整个业务逻辑
以上为爬虫的业务逻辑。 先理解Scrapy框架的业务逻辑,然后再学习起来就会更容易上手。
然后以下就是完整的代码实现了。
1. 安装完Scrapy框架后,创建项目 scrapy startproject xxxx 就会在当前目录创建项目xxxx
2. Item 是保存爬取到的数据的容器;其使用方法和python字典类似, 并且提供了额外保护机制来避免拼写错误导致的未定义字段错误。编辑 items.py文件
import scrapy class DmozItem(scrapy.Item): title = scrapy.Field() link = scrapy.Field() desc = scrapy.Field()3.编写爬虫。在spiders文件夹里创建 dmoz_spider.py
import scrapy from tutorial.items import DmozItem class DmozSpider(scrapy.Spider): name = "dmoz" allowed_domains = ["dmoz.org"] start_urls = [ "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/", "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/" ] def parse(self, response): for sel in response.xpath('//ul/li'): item = DmozItem() item['title'] = sel.xpath('a/text()').extract() item['link'] = sel.xpath('a/@href').extract() item['desc'] = sel.xpath('text()').extract() yield item以上,一个简单的爬虫就编写完成
4. 在cmd 中,进入第一步所创建的项目根目录,输入 scrapy crawl dmoz,运行爬虫。则会创建一个json 文件,则下载抓取的数据就在这个json里面。
5. 以记事本格式打开以上抓取的json文件
6. 以上所有程序完成后。简单的scrapy爬虫就编写完成了