gpt4 book ai didi

python - 如何在 python scrapy 中检查 item 是否为 None

转载 作者:行者123 更新时间:2023-11-30 22:19:50 27 4
gpt4 key购买 nike

如果item['business_name']等于此[]None。我想从查询结果中删除它。

相反,它输出的是我不想要的,我只想要具有公司名称的查询结果

'business_name': [],

这就是我目前所拥有的

class Item(scrapy.Item):
business_name = scrapy.Field()
website = scrapy.Field()
phone_number = scrapy.Field()

class QuotesSpider(scrapy.Spider):

def parse(self, response):
for business in response.css('div.info'):
item = Item()
item['business_name'] = business.css('span[itemprop="name"]::text').extract()
if item['business_name'] is None :
break
else:
item['website'] = business.css('div.links a::attr(href)').extract_first()
item['phone_number'] = business.css('div.phones.phone.primary::text').extract()
yield item

最佳答案

你可以尝试:

if item['business_name'] is None or len(item['business_name']) == 0:
# delete it here

或者把你的逻辑反过来:

if item['business_name']:
item['website'] = business.css('div.links a::attr(href)').extract_first()
item['phone_number'] = business.css('div.phones.phone.primary::text').extract()
yield item

后者利用了 None 和一个在 Python 中“假”的空列表,被认为是更“Pythonic”的方式。

关于python - 如何在 python scrapy 中检查 item 是否为 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48978451/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com