使用Python从XML获取值
我有一个这样的XML,我需要使用pYTHON脚本获取所有元素值的信息。我通过beautiful soup尝试了它,但是它太慢了,而且它正在用标记打印值使用Python从XML获取值,python,xml,beautifulsoup,Python,Xml,Beautifulsoup,我有一个这样的XML,我需要使用pYTHON脚本获取所有元素值的信息。我通过beautiful soup尝试了它,但是它太慢了,而且它正在用标记打印值 <item> <g:id>1212</g:id> <g:title>tile 1</g:title> <g:description>description </g:description> <g:gtin>426567836816</g:gtin
<item>
<g:id>1212</g:id>
<g:title>tile 1</g:title>
<g:description>description </g:description>
<g:gtin>426567836816</g:gtin>
<g:brand>Amazon</g:brand>
<g:mpn>6789</g:mpn>
<g:link>link </g:link>
<g:image_link>link.jpg</g:image_link>
<g:availability>in stock</g:availability>
<g:condition>new</g:condition>
<g:unit_pricing_base_measure>10 g</g:unit_pricing_base_measure>
<g:unit_pricing_measure>50 g</g:unit_pricing_measure>
<g:product_type>type 001</g:product_type>
<g:produkteinheit>50 g</g:produkteinheit>
<g:google_product_category/>
<g:price>250.1</g:price>
<g:shipping>
<g:country>xxx</g:country>
<g:service>DHL</g:service>
<g:price>50</g:price>
</g:shipping>
</item>
有没有比这更好的解决方案,最终我希望它被插入到我的数据库(postgres)中
电流输出:
12
20如果您感兴趣,可以使用lxml将其添加到熊猫数据帧中。我不认为这是一个重复的问题。上述两个问题是多年前提出来的。“也许现在有更好的解决办法了。”达宾寿同意。这个问题本不应该就此结束。
from bs4 import BeautifulSoup
with open('google-shopping-1.xml') as fp:
soup = BeautifulSoup(fp, 'lxml')
for item in soup.findAll('item'):
id = item.find('g:id')
title = item.find('g:title')
description = item.find('g:description')
gtin = item.find('g:gtin')
brand = item.find('g:brand')
mpn = item.find('g:mpn')
link = item.find('g:link')
image_link = item.find('g:image_link')
availability = item.find('g:availability')
condition = item.find('g:condition')
unit_pricing_base_measure = item.find('g:unit_pricing_base_measure')
unit_pricing_measure = item.find('g:g:unit_pricing_measure')
product_type = item.find('g:product_type')
produkteinheit = item.find('g:produkteinheit')
price = item.find('g:price')
condition = item.find('g:condition')
print(id)
#print(title)
#print(description)
#print(gtin)
#print(brand)
#print(mpn)
#print(link)
#print(image_link)
#print(availability)
#print(availability)
#print(condition)
#print(unit_pricing_base_measure)
#print(unit_pricing_measure)
#print(product_type)
#print(produkteinheit)
#print(price)
#print(condition)
#print("/n")