用scrapy提取缺失值

2024-06-25 22:52:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图解决在链接和评论项中使用item_loader.add_css处理缺失值的问题。它应该是每项8个值,但它是6,并且不提取任何内容

我的代码是:

腐烂的spyder.py

class RottenSpiderSpider(scrapy.Spider):

    name = 'rotten'
    start_urls = ['https://www.rottentomatoes.com/m/toy_story/reviews?type=top_critics&sort=&page=2']

    def parse(self, response):
        # crawl page 
        for row in response.css('.content'):

            item_loader = ItemLoader(item=ScraperottentomatoesItem(), selector=row)
            item_loader.add_css('quote', '.the_review::text', re='\w+.+')
            item_loader.add_css('links', '.review-link a::attr(href)')
            item_loader.add_css('critic', '#content .articleLink::text')

            yield item_loader.load_item()

items.py

class ScraperottentomatoesItem(scrapy.Item):
    quote = scrapy.Field()
    links = scrapy.Field()
    critic = scrapy.Field()

以下是不带批评家的输出:

enter image description here

enter image description here


Tags: pyaddfieldresponsepageloadercontentitem
1条回答
网友
1楼 · 发布于 2024-06-25 22:52:16

第一部分你说应该是8项。如果你看这个网站,上面写着“全面回顾”的超链接就是链接所在的位置。只有6个链接,所以这很好。对于第二部分,您提取的是文本而不是链接,因此您可以像其他部分一样对其进行更改

在这里做这个代码。这对我有用

Rotten

以下是输出:

{'critic':['Sean p.的意思', “约翰·哈特尔”, “彼得·斯塔克”, “罗杰·埃伯特”, “丽塔·凯普莱”, “詹姆斯·贝拉迪内利”, “罗杰·摩尔”], '链接':['http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/1996/11/01/DD69735.DTL', “http://www.rogerebert.com/reviews/toy-story-1995”, “http://www.washingtonpost.com/wp-srv/style/longterm/movies/videos/toystory.htm”, “http://www.reelviews.net/php_review_template.php?identifier=46”, “http://www.ew.com/ew/article/0,,299671,00.html”, “http://www.orlandosentinel.com/entertainment/movies/orl-movie-review-toy-story-toy-story-2-3d,0,464068 0.故事'], “引用”:从技术上讲,《玩具总动员》几乎完美无缺, “迪斯尼的机智、奇妙的想象力,全是电脑生成的” 卡通片无疑是美国最新的假日电影之一 “城镇。”, “剧本,由拉塞特、皮特·多克特、安德鲁·斯坦顿和乔创作” 《兰夫特》中充满了聪明的噱头,让两位英雄相形见绌 “其他人的喉咙和快进的情节。”, “结果是一部电影的梦幻过山车。”, “看到工作室从中汲取了魔力,这是一个很好的节奏变化” “关于20世纪普通孩子安迪和他的父母的现代故事” “渴望取悦玩具。”, “关于《玩具总动员》的一大负面影响是迪斯尼的” “过度商业化”, “我很难想象在电影中会比在电影中更有趣” “玩具总动员,迪斯尼新的奇迹,这是第一部” “完全在计算机上制作的全长动画电影。”, “出色的配音表演,视觉双关语,所有这些加起来都是一种 “动画游戏改变者”。]}

相关问题 更多 >