gpt4 book ai didi

python - 获取列表元素中的子字符串 Python - 网页抓取

转载 作者:行者123 更新时间:2023-12-01 01:44:50 25 4
gpt4 key购买 nike

请原谅我,我是 Python 和 Selenium 的新手。我正在抓取一个超市网站。我得到的商品名称如下,其中包含数量和名称。我想从不同案例和项目的名称中提取数量,如下所示-

案例

新鲜值(value)芋头250克

新鲜值(value)罗布斯塔香蕉 1 公斤

新鲜值(value)生木瓜1 U(单位)(300g-400g)

新鲜值(value)优质石榴喀 bool (500g - 700g)

所需输出:

名称 = Fresh Value Colocasia,数量 = 250g

名称 = 新鲜值(value)香蕉罗布斯塔,数量 = 1 公斤

名称 - 新鲜值(value)生木瓜,数量 = 1 U(单位)(300g-400g)

它有数百个这样的项目。我尝试过使用

str.split()

但没有得到输出。我也尝试过使用正则表达式,但不确定它是如何工作的。在字符串中找到数字后,有没有一种方法可以分割字符串?任何建议可能会有所帮助。

最佳答案

一个选项(根据您提供的数据样本)可以是:

import re
strings = ['Fresh Value Colocasia 250g', 'Fresh Value Banana Robusta 1kg', 'Fresh Value Raw Papaya 1 U (units) (300g-400g)','Fresh Value Premium Pomegranate Kabul (500g - 700g)']
for i in strings:
start = re.findall('\d|\(', i)[0]
name = i.split(start)[0].strip()
quantity = start + i.split(start)[1]
print 'Name = '+ name + ', Quantity = ', quantity

输出:

Name = Fresh Value Colocasia, Quantity =  250g
Name = Fresh Value Banana Robusta, Quantity = 1kg
Name = Fresh Value Raw Papaya, Quantity = 1 U (units) (300g-400g)
Name = Fresh Value Premium Pomegranate Kabul, Quantity = (500g - 700g)

当然,如果数字和括号仅出现在数量中而不出现在名称中,则有效。如果数量以其他符号开头,您可以在findall

中添加它们

关于python - 获取列表元素中的子字符串 Python - 网页抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51491656/

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