ホームページ >バックエンド開発 >Python チュートリアル >Wiki リンクからデータを抽出するにはどうすればよいですか?
mwparserfromhell ライブラリから返される wiki リンクからデータを抽出したいと考えています。 たとえば、次の文字列を解析したいとします:
リーリー文字 |
を使用して文字列を分割しても、画像の説明に |
を使用するリンクもあるため機能しません: [[Maria Skvo Dowska -キュリー博物館|出身地]]
。
正規表現を使用して、まず文字列内のすべてのリンクを置き換えてから、文字列を分割しました。 (この場合は) 機能しますが、クリーンな感じはしません (以下のコードを参照)。このような文字列から情報を抽出するより良い方法はありますか?
[[file:warszawa, ul. freta 16 20170516 002.jpg|thumb|upright=1.18|[[maria skłodowska-curie museum|birthplace]] of marie curie, at 16 freta street, in [[warsaw]], [[poland]].]]
.filter_wikilinks()
返されるリンクは wikilink
クラスです, このクラスには、title
プロパティと text
プロパティがあります。
title
リンクのタイトルを返します: file:warszawa, ul. Fretta16 20170516 002.jpg
text
リンクの残りの部分に戻る: thumb|upright=1.18|[[マリア・スクウォドフスカ・キュリー博物館|生誕地]] マリー・キュリー、16 freta street 、[[ワルシャワ]] 、[[ポーランド]]。
これらは、wikicode
オブジェクトとして返されます。
実際のテキストは常に最後のフラグメントであるため、最初に次の正規表現を使用して他のフラグメントを検索する必要があります:
([^\[\]|]*\|)
[^\[\]|]*: 角括弧または縦棒以外の 0 個以上の文字
:リテラルパイプ
リーリー
以上がWiki リンクからデータを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。