【问题标题】:Scrapy works in shell but not in the codeScrapy 在 shell 中有效,但在代码中无效
【发布时间】:2020-09-26 11:55:49
【问题描述】:

我在用 scrapy 开发我的第一个蜘蛛时遇到了一个问题。我能够在 scrapy shell 中获得正确的信息,但是当我在代码中实现它时它不起作用。我在这里读过类似的帖子,但我仍然无法弄清楚我做错了什么。

import scrapy
from scrapy.loader import ItemLoader
from ..items import ScrapingamazonItem

class AmazonSpiderSpider(scrapy.Spider):
    name = 'amazon_spider'
    start_urls = ['https://www.amazon.com/s?k=Office+Chair&lo=grid&crid=1N60K12GUA798&qid=1601040579&sprefix=chair&ref=sr_pg_1']

    def parse(self, response):
        items = response.css('.s-asin .sg-col-inner')

        for item in items:
            loader = ItemLoader(item=ScrapingamazonItem(), selector=item)
            loader.add_css('ProductName', '.a-color-base.a-text-normal::text')
        
        yield loader.load_item()

我正在使用 scrapy crawl amazon_spider -o file.csv 运行它。文件返回空。

非常感谢任何帮助! :)

【问题讨论】:

    标签: python web-scraping scrapy


    【解决方案1】:

    试试

    for item in items:
       loader = ItemLoader(item=ScrapingamazonItem(), selector=item)
       loader.add_css('ProductName', '.a-color-base.a-text-normal::text')
       yield loader.load_item()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-18
      • 2013-01-16
      • 2011-12-17
      • 2019-04-28
      • 2016-02-24
      相关资源
      最近更新 更多