前提・実現したいこと
pythonでAmazonのAPIを使って商品の情報を取得していました。正しく取得はできているのですが取得したXMLからxml.etree.ElementTreeのfindを使って情報を抽出することができません。
初歩的な質問かもしれません。お願いします。
発生している問題・エラーメッセージ
print(product[1][0].find("PackageQuantity").text) AttributeError: 'NoneType' object has no attribute 'text'
該当のソースコード
python
1for child in root.iter(・・・): 2 ・・・ 3 for products in child: 4 ・・・ 5 for product in products: 6 print(product[1][0].find("PackageQuantity").text)
xml
1 <Result> 2 <Products> 3 <Product> 4 <Identifiers> 5 ・・・ 6 </Identifiers> 7 <AttributeSets> 8 <ns2:ItemAttributes xml:lang="ja-JP"> 9 <ns2:Brand>aaa</ns2:Brand> 10 <ns2:Label>bbb</ns2:Label> 11 <ns2:Manufacturer>ccc</ns2:Manufacturer> 12 <ns2:PackageDimensions> 13 ・・・ 14 </ns2:PackageDimensions> 15 <ns2:PackageQuantity>ここの情報が対象</ns2:PackageQuantity>
試したこと
findを使わずに
python
1print(product[1][0][4].text)
と指定すると問題なく取得できました。ですが複数の情報をAPIで取得する場合、物によってリストの数が異なっているのでfindで見つけ出したいです
補足情報
Mac Catalina 10.15.6
VS code 1.47.3
Python 3.6.7
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/07 05:25