zoukankan      html  css  js  c++  java
  • 爬虫学习 -- 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 quotes.toscrape.com/  -- 创建爬虫文件

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

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

    遇到的问题:

    1)url并没有回溯,只爬取到第一页的内容。

    解决办法:在命令行设置url参数的时候 不要带 http:// 如果带入httpscrapy又会自动加上http:// 则url会失效

       scrapy  genspider spider_name   xxx.com

  • 相关阅读:
    输出最大值 (10 分)
    对象数组初始化 (10 分)
    2018Final静态成员(黑名单)
    寻找回文子串(python)
    cpp-week_one-错题整理
    Python 读入多个整数
    C语言学习—strcpy()和strcat()
    javascript数学对象、自定义对象10.0
    javascript基础DOM对象6.2
    javascript基础DOM对象6.1
  • 原文地址:https://www.cnblogs.com/tlbjiayou/p/12609401.html
Copyright © 2011-2022 走看看