Scrapy/Python:替换空字符串

研磨

所以这是我的 Scrapy 爬虫代码。我正在尝试从网站中提取元数据值。元数据不会在页面上多次出现。

class MySpider(BaseSpider):
    name = "courses"
    start_urls = ['http://www.example.com/listing']
    allowed_domains = ["example.com"]
    def parse(self, response):
     hxs = Selector(response)
    #for courses in response.xpath(response.body):
     for courses in response.xpath("//meta"):
     yield {
                'ScoreA': courses.xpath('//meta[@name="atarbur"]/@content').extract_first(),
                'ScoreB': courses.xpath('//meta[@name="atywater"]/@content').extract_first(),
                'ScoreC': courses.xpath('//meta[@name="atarsater"]/@content').extract_first(),
                'ScoreD': courses.xpath('//meta[@name="clearlywaur"]/@content').extract_first(),
               }
     for url in hxs.xpath('//ul[@class="scrapy"]/li/a/@href').extract():
      yield Request(response.urljoin(url), callback=self.parse)

所以我想要实现的是,如果任何 Scores 的值是空字符串 (''),我想用 0(零)替换它。我不确定如何在 'yield' 块中添加条件逻辑。

非常感谢任何帮助。

谢谢

花岗岩龙

extract_first()方法具有默认值的可选参数,但是在您的情况下,您可以只使用or表达式:

foo = response.xpath('//foo').extract_first('').strip() or 0

在这种情况下,如果extract_first()返回一个没有任何文本的字符串,它将评估为`False,因此将采用 evaluation(0) 的最新成员。

要将字符串类型转换为其他类型,请尝试:

foo = int(response.xpath('//foo').extract_first('').strip() or 0)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

替换空字符串

来自分类Dev

用空字符串替换字符串

来自分类Dev

将空字符串替换为空字符串

来自分类Dev

用空字符串替换任何开始字符实例

来自分类Dev

如何在Java中用空字符串替换'

来自分类Dev

用空字符串替换日志文件时间戳

来自分类Dev

如何用值替换tsv中的空字符串?

来自分类Dev

替换一个空字符串

来自分类Dev

SQL Server用空字符串替换null

来自分类Dev

用空字符串替换装饰空

来自分类Dev

将数组中的空字符串替换为0

来自分类Dev

用空白(空字符串)替换缺失值(NA)

来自分类Dev

如何在Java中用空字符串替换'

来自分类Dev

使用XSL选择替换空字符串

来自分类Dev

用退格符替换空字符串

来自分类Dev

如果重复,则用空字符串替换行值

来自分类Dev

替换RichTextBox内容绑定到空字符串

来自分类Dev

SQL Server用空字符串替换null

来自分类Dev

Javascript用空字符串替换单引号

来自分类Dev

将双引号替换为空字符串

来自分类Dev

用空字符串替换 None 值

来自分类Dev

在 XML 变量中用 NULL 替换空字符串

来自分类Dev

如何用空字符串替换包含DateTime的字符串?

来自分类Dev

用{0},{1} ... {n}分割字符串,并替换为空字符串

来自分类Dev

将多个子字符串替换为空字符串

来自分类Dev

正则表达式。将HTML字符串替换为空字符串

来自分类Dev

如何用我的DataFrame中的空字符串替换所有“ nan”字符串?

来自分类Dev

R变异并用空模式或空字符串替换字符串

来自分类Dev

使用R将某些单词除外的字符串替换为空字符串