这与网页抓取有关,特别是与scrapy有关。我希望能够迭代表达式来创建我的项目。例如,假设我将项目类导入为“item”。为了随后存储项目,我必须编写如下代码:
item['item_name'] = response.xpath('xpath')
我的响应实际上是一个函数,它看起来像这样:
item['item_name'] = eval(xpath_function(n))
这是完美的。但是,我如何迭代创建多个不同名称的项目,而不必手动命名每个项目呢?下面的代码根本不起作用(我也不希望它起作用),但应该给予您了解我试图完成的工作:
for n in range(1, 10):
f"item['item_name{n}'] = eval(xpath_function(n))"
基本上试图创建10个不同的项目名称item_name1
-item_name10
。希望这是有意义的,我感谢任何帮助。
1条答案
按热度按时间whhtz7ly1#
如果你只是基于
n
的值为字典创建键,你可以尝试类似这样的操作:如果需要格式化数字(例如,包括前导零),可以使用f字符串,而不是像我那样连接字符串。
[NB所写for循环只能从1运行到9,因此我在答案中对此进行了修改。]