Scrapy可以在shell中运行,但不能在代码中运行

我在用 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()

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



繁华开满天机
浏览 137回答 1
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()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python