【问题标题】:Getting data from response meta or getting data from item loader. Which is better?从响应元数据或从项目加载器获取数据。哪个更好?
【发布时间】:2015-04-29 04:00:00
【问题描述】:

我写了一个蜘蛛,我通过元将一些数据从父函数发送到子函数。在子函数中,我正在解析这些项​​目。但是如果在response.meta.get('name') 中找不到某些数据,我正在子函数中编写一些xpath。

这两种方法哪个更好?

1)

item.add_value('name', response.meta.get('name'))
if not item.get_output_value('name'):
    item.add_xpath('name', 'xpath')

2)

if response.meta.get('name', ''):
    item.add_value('name', response.meta.get('name'))
else:
    item.add_xpath('name', 'xpath')

【问题讨论】:

    标签: python xpath web-scraping scrapy


    【解决方案1】:

    为避免设置和获取项目值(sn-p 1)的额外工作,我将首先从meta 获取值,然后检查它:

    value = response.meta.get("name")
    if not value:
        item.add_xpath("name", "xpath")
    else:
        item.add_value("name", value)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-14
      • 2011-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      相关资源
      最近更新 更多