爬虫学习 -- day2

目标:爬取scrapy给的目标网站的名言名句

代码:

# -*- coding: utf-8 -*-
import scrapy

from quotetutorial.items import QuoteItem


class QuotesSpider(scrapy.Spider):
    name = 'quotes'
    allowed_domains = ['http://quotes.toscrape.com/']
    start_urls = ['http://quotes.toscrape.com/']

    def parse(self, response):
        quotes = response.css('.quote')
        for quote in quotes:
            item = QuoteItem()
            text = quote.css('.text::text').extract_first()
            item['text'] = text
            yield item
        next = response.css('.pager .next a::attr(href)').extract_first()
        url = response.urljoin(next)
        yield scrapy.Request(url=url,callback=self.parse)

真正需要输入的函数仅再parse里面

学到的scrapy命令:

scrapy startproject project_name    --  创建一个爬虫项目

scrapy genspider spider_name http://quotes.toscrape.com/   -- 创建爬虫文件

scrapy  shell http://quotes.toscrape.com/    -- 进入shell试调 

scrapy crawl spider_name      --- 开始爬取    -o 可以输出文件   一般为json  另外 没有txt

收获算是入门了一点scrapy吧,另外遗留了两个个问题,留到day3解决:

1)我的代码和视频的代码,但是我的url并没有回溯,只爬取到第一页的内容,这个留到day2解决吧,今天先搞其他的。

2)并没有了解过python yield的用法,应该不仅是返回的意思。

猜你喜欢

转载自www.cnblogs.com/tlbjiayou/p/12609401.html