scrapy简单爬取内容

scrapy的简单爬取不用新建项目。安装好scrapy后编写爬虫文件
import scrapy

class ZaobaoScrapy(scrapy.Spider):
    name = "zaobao"
    start_urls = ["http://www.zaobao.com/finance/china"]

    def parse(self, response):
        for href in response.css(".l_title .title a::attr(href)"):
            full_url = response.urljoin(href.extract())
            yield scrapy.Request(full_url,callback=self.parse_news)

    def parse_news(self, response):
        yield {
			'title':response.css('#a_title h1::text').extract()[0],
			'time':response.css(".time::text").extract(),
			'content':response.css(".a_body").extract()[0],
			'link': response.url,
		}

上面爬虫的深度为1  爬取第一个页面,分析出网址后,爬取第二个页面

执行scrapy runspider zaobao_scrapy.py -o mm.json  就会生成json文件

scrapy一些优点

1,内置的数据抽取器
2,交互式控制台用于调试数据抽取方法
3,内置对结果输出的支持,可以保存为JSON, CSV, XML等
4,自动处理编码
5,支持自定义扩展
6,丰富的内置扩展,可用于处理:
1)cookies and session
2)HTTP features like compression, authentication, caching
3) user-agent spoofing
7,远程调试scrapy
8,更多的支持,比如可爬取xml、csv,可自动下载图片等等。
4)robots.txt
5) crawl depth restriction
 

你可能感兴趣的:(Scrapy)