現在、私はbeautifulsoupを使用してXML Webページを解析するスクリプトを作成しています。 xmlファイルの例はhereです。スクリプトは基本的に、入力されたキーワードのリストと一致する最初のプロダクトURL(各 'loc'タグから)を出力します。現在、スクリプトの制御フローは以下の通りです:XMLパーサーの高速化
- スープオブジェクトにURLを渡し、
実行A各URLタグのループのためにそれを美化し、リストに各LOCテキストを置く(inventory_urlは)
for item in soup.find_all('url'): inventory_url.append(item.find('loc').text)
リストを反復し、出力「キーワード」は、キーワードの入力リストであるすべてのキーワードに一致する最初の要素
for item in inventory_url: if all(kw in item for kw in keywords): return item
構文解析を高速化する方法があるのだろうかと思います。私はスープトレーナーを見てきましたが、私が 'loc'タグだけを見つけるために分離すると、必要のない 'image:loc'タグも取り込まれます。
ありがとうございました。
xmlを解析するために[lxml](https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser)を使用しましたか? –
まだありません。あなたの提案をありがとう – JC1
構文解析がボトルネックであると確信していますか?インターネットからウェブページを取得している場合は、そのページを解析するよりも1000倍以上時間がかかると思われます。 –