任务 :1爬取每本书的标题       地址:http://books.toscrape.com/index.html

   2爬取每本书的价格  涉及模块:import scrapy

     3排列好每本书对应的内容    涉及知识:response下css的爬取

    使用scrapy startproject select1来创建项目

    使用scrapy genspider books http://books.toscrape.com/index.html 来创建工作

第一次尝试:
  先使用css抓取到标题和价格:代码如下:name = response.css('article.product_pod a::attr(title)').extract()

                 price = response.css('article.product_pod div p.price_color ::text').extract()

 

 简单的就提取到了相关信息。于是提交yield {'name': name, 'price': price}

之后发现执行scrapy crawl books -o books.csv 之后没有保存到任何信息

于是问题来了,为什么不行呢,我代码是非常正确的。

第二次尝试:

  我仔细看了好久代码,发现只要把allowd删掉,再把start_url的前一个http删掉,继续执行scrapy crawl books -o books.csv   就可以把数据写入csv文件

 那么问题来了,是allowed的错还是start的错呢?

第三次尝试:

我多创建了一个book文件,除了allowed和start外,所有代码一样,我在原有的成功代码上加了一行代码 allowed_domains = ['http://books.toscrape.com/index.html']

把原books文件删除后,执行scrapy crawl books -o books.csv之后一样成功!

于是我发现了问题就在于这行代码的第一个http上,不知道为什么会创建这么多余的http。