爬虫 scrapy 框架学习 1. Scrapy框架业务逻辑的理解 + 简单爬虫案例示范

     爬虫框架scrapy ,在初步接触的过程中记录下学习过程。今天是初步的学习笔记。当然在前期的学习过程中,随着不断的深入,初步的理解可能会错误,但会在后续的各章中持续深入。

本文参考了 http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html


     scrapy框架是用作爬虫的一个框架。以下为整个业务逻辑


爬虫 scrapy 框架学习 1. Scrapy框架业务逻辑的理解 + 简单爬虫案例示范_第1张图片

爬虫 scrapy 框架学习 1. Scrapy框架业务逻辑的理解 + 简单爬虫案例示范_第2张图片

爬虫 scrapy 框架学习 1. Scrapy框架业务逻辑的理解 + 简单爬虫案例示范_第3张图片

以上为爬虫的业务逻辑。  先理解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爬虫就编写完成了



你可能感兴趣的:(爬虫)