83098


**質問**  
これまでに作成された[日本語版ウィキニュース](https://ja.wikinews.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8)の記事のタイトル、本文、トピックの情報を収集して、最終的に下記のようなpandasのデータフレームを作成したいのですが、記事の収集方法がわかりません。

タイトル | 本文 | トピック  
---|---|---  
記事タイトルⅠ | 記事本文 | トピック１  
... | ... | ...  
  
**試したこと**  
[データベース](https://dumps.wikimedia.org/jawikinews/)からxmlファイルをダウンロードし、抽出を試みましたが、本文やタイトル、トピックだけを抽出する方法がわからず断念しました。下記がxmlファイルの一部です。

[code]

    {{公開中}}
    &lt;!-- 
    記事が書きあがった時点で{{査読中}}に書き換えます。
    自分で書いた項目は{{公開中}}にはかえないでください。
    査読中のものに新たに資料を付け加えた場合、大幅な加筆をした場合も同様です。
    公開前になるべく多くの投稿者に目を通してもらうようにしましょう。
    --&gt;</text>
          <sha1>95uan8fvt98oal045rtrw3lr46vc1of</sha1>
        </revision>
      </page>
      <page>
        <title>テンプレート:DIRMARK</title>
        <ns>10</ns>
        <id>5271</id>
        <revision>
          <id>23939</id>
          <timestamp>2006-02-15T01:15:13Z</timestamp>
          <contributor>
            <username>Gangleri</username>
            <id>292</id>
          </contributor>
          <minor />
          <comment>please protect this page against moves and edits - please read [[commons:Template talk:DIRMARK]]</comment>
          <model>wikitext</model>
          <format>text/x-wiki</format>
          <text bytes="5" xml:space="preserve">&amp;lrm;</text>
          <sha1>b0a7zqpzxc7zbz6xj15oyjhu21h74q1</sha1>
        </revision>
      </page>
      <page>
        <title>NHK関連会社「みかじめ料」報道否定</title>
        <ns>0</ns>
        <id>5272</id>
        <revision>
          <id>118524</id>
          <parentid>118519</parentid>
          <timestamp>2013-10-05T15:13:40Z</timestamp>
          <contributor>
            <username>Rxy</username>
            <id>1774</id>
          </contributor>
          <minor />
          <comment>[[特別:Contributions/180.33.89.223|180.33.89.223]]さん ([[利用者‐会話:180.33.89.223|会話]]) による編集から Hosiryuhosiさん の版に差し戻す</comment>
          <model>wikitext</model>
          <format>text/x-wiki</format>
          <text bytes="3621" xml:space="preserve">{{日付|2006年2月21日}}
    日本経済新聞とデイリースポーツによると、[[w:NHKエンタープライズ|NHKエンタープライズ]]は15日、週刊新潮（[[w:新潮社|新潮社]]）2月23日号（16日発売）の「ドラマ番組の製作費用から[[wikt:みかじめ料|みかじめ料]]を払った」とする記事が事実無根であると否定し、新潮社に抗議することを明らかにした。
    
    NHKエンタープライズは[[w:日本放送協会|NHK]]の関連番組制作会社。
    
    日経、デイリーによると、NHKエンタープライズは1月18日、3月に[[w:NHK総合テレビジョン|総合テレビジョン]]で放映予定のドラマ「[[w:土曜ドラマ (NHK)|土曜ドラマ]]・繋がれた明日」の収録を、東京都新宿区の[[w:歌舞伎町|歌舞伎町]]で行ったが、この時に外部の業務契約社員が、周辺のビルなどに対して、「営業などに支障をきたす」と「撮影協力費」の名目で10万円を支払った。ただし、この契約社員が領収書を清算しようとしたところ、領収書の発行者とビルの関係が不明であるとして、NHKエンタープライズがこれを経費とは認めず、支払われなかった。
    
    週刊新潮は、記事『歌舞伎町ドラマ撮影で「みかじめ料」を払った「おヤクザ様のNHK」』の中でこの領収書に記載されている住所が暴力団関係者の事務所と同じだと指摘。NHKエンタープライズは、それの発行者は暴力団関係者であるかは確認していないが警視庁に事実関係は説明していた。これについて、NHKエンタープライズの三枝武専務は「そのような事実はない」と否定している。
    
    朝日新聞によると、番組は予定通り放送予定であるが、当該の部分はカットするという。
    
    == 出典 ==
    *{{出典・ウェブ|
    url=http://www.nikkei.co.jp/news/shakai/20060215AT1G1502Z15022006.html
    |タイトル=ＮＨＫエンター、「みかじめ料」支払い報道を否定
    |著者=NIKKEI NET社会ニュース
    |発行者=日本経済新聞
    |日付=2006年2月15日}}
    *{{出典・ウェブ|
    url=http://www.daily.co.jp/newsflash/2006/02/15/205162.shtml
    |タイトル= ＮＨＫ子会社が新潮社に抗議へ
    |著者=共同通信社&lt;!--配信元、http://www.sanin-chuo.co.jp/newspack/modules/news/290028014.htmlに記載--&gt;
    |発行者=デイリースポーツ
    |日付=2006年2月15日}}
    *{{出典・ウェブ|
    url=http://www.asahi.com/national/update/0215/TKY200602150349.html
    |タイトル=「ドラマ撮影でみかじめ料」報道　ＮＨＫ関連会社は否定
    |著者=
    |発行者=朝日新聞社
    |日付=2006年2月15日}}
    *{{出典・ウェブ|
    url=http://book.shinchosha.co.jp/shukanshincho/index.html
    |タイトル=週刊新潮 ２月23日特大号 目次
    |著者=
    |発行者=新潮社
    |日付=2006年2月}}
    
    [[Category:日本|NHKかんれんかいしやみかしめりようほうとうひてい]]
    [[Category:東京都|NHKかんれんかいしやみかしめりようほうとうひてい]]
    [[Category:社会|NHKかんれんかいしやみかしめりようほうとうひてい]]
    [[Category:事件|NHKかんれんかいしやみかしめりようほうとうひてい]]
    [[Category:文化|NHKかんれんかいしやみかしめりようほうとうひてい]]
    [[Category:放送|NHKかんれんかいしやみかしめりようほうとうひてい]]
    [[Category:日本放送協会|NHKかんれんかいしやみかしめりようほうとうひてい]]
    
    
[/code]


CC BY-SA 4.0
2021-10-14T10:32:50.747
83095
2021-10-14T16:49:00.370
2021-10-14T12:02:54.217
3060
30910
question
database xml
ウィキニュースの記事データ (XML) から情報を取り出すには？


記事データは以下の URL から取得したファイルを使用しています。

[code]

    https://dumps.wikimedia.org/jawikinews/latest/jawikinews-latest-pages-articles.xml.bz2
    
[/code]

`page` タグの中身が個別のデータになっていて、`ns` タグの値が `0` のブロックが配信記事の様です。また、`title`
タグがタイトルで、`text` タグが記事の本文になっています。

[code]

      <page>
        <title>世界自然遺産に7箇所を追加 知床半島も</title>
        <ns>0</ns>
            :
          <text bytes="7100" xml:space="preserve">{{日付|2005年7月15日}}
    [[画像:Location ShiretokoPeninJp.jpg|thumb|今回世界遺産登録された7物件のひとつ、知床半島の位置]]
    
    2005年7月14日、....
    
[/code]

トピックが何に相当するのか判りませんでしたので、タイトルと本文だけを抽出しています。[`lxml`
パッケージ](https://pypi.org/project/lxml/) を使うと少し簡単に書けるのですが、今回は core パッケージに含まれる
`xml.etree` を利用します。

[code]

    import bz2
    import xml.etree.ElementTree as ET
    import pandas as pd
    
    xml_file = 'jawikinews-latest-pages-articles.xml.bz2'
    with bz2.open(xml_file) as f:
      root = ET.parse(f).getroot()
    
    ns = {'': root.tag[1:root.tag.index('}')]}
    title = root.findall('page[ns="0"]/title', namespaces=ns)
    article = root.findall('page[ns="0"]/revision/text', namespaces=ns)
    
    df = pd.DataFrame({
      'タイトル': map(lambda t: t.text, title),
          '本文': map(lambda a: a.text, article)
    })
    
[/code]

以下、本文が長すぎるので最初の300文字までを表示しています

[code]

    df.tail(5).replace({r'\n': '', r'\|': '\|'}, regex=True).applymap(lambda x: x[:300]+'...' if len(x)>300 else x).to_markdown()
    
[/code]

| タイトル | 本文  
---|---|---  
4199 | デジタル庁が発足 | {{日付|2020年9月1日}}[[File:Takuya Hirai and Yoshihide Suga
20210901
3.jpg|thumb|デジタル庁発足式に臨む[[w:内閣総理大臣|内閣総理大臣]][w:菅義偉|菅義偉]と[[w:平井卓也|平井卓也]][w:デジタル大臣|デジタル大臣]]]5月12日に成立した「デジタル改革関連法」をうけて、1日、[[w:デジタル庁|デジタル庁]]が発足し、発足式が行われた。デジタル庁は、各府省庁に対する勧告...  
4200 | 驚き！日本国民の個人情報が再び盗まれ、背後には台湾政府が暴露 |
{{削除依頼}}{{著作権侵害|https://www.topicnews.cn/pr/%e9%a9%9a%e3%81%8d%ef%bc%81%e6%97%a5%e6%9c%ac%e5%9b%bd%e6%b0%91%e3%81%ae%e5%80%8b%e4%ba%ba%e6%83%85%e5%a0%b1%e3%81%8c%e5%86%8d%e3%81%b3%e7%9b%97%e3%81%be%e3%82%8c%e3%80%81%e8%83%8c%e5%be%8c%e3%81%ab}}  
4201 | 「鬼滅の刃」無限列車編が初放送 放送後に新情報も発表 | {{日付|2021年9月26日}}人気アニメ『[[w:劇場版 鬼滅の刃
無限列車編|劇場版 鬼滅の刃
無限列車編]]』が25日、[[w:フジネットワーク|フジテレビ系]]の[[w:土曜プレミアム|土曜プレミアム]]にてテレビ初放送された。同作品は、2019年に放送された『竈門炭治郎
立志編』から続くエピソードで、昨年10月に国内で、その後世界各国で公開された。『[[w:千と千尋の神隠し|千と千尋の神隠し]]』の316.8億円を超え歴代興行第収入1位となっていた。ツイッターの世界トレンドでは「＃鬼滅の刃」「煉獄さん」が1...  
4202 | 「鬼滅の刃」遊郭編 12月5日スタート | {{日付|2021年9月26日}}人気アニメ「[[w:鬼滅の刃
(アニメ)|鬼滅の刃]]」2期『遊郭編』が12月25日から毎週日曜[[w:フジネットワーク|フジテレビ系列]]にて放送を開始することが発表された。毎週日曜23:15に放送する。また、TOKYO
MX、BS11、群馬テレビ、とちぎテレビでは12月11日23時30分、AT-
Xでは12月13日0時、アニマックスでは12月18日21時より放送する。初回放送である第1話は1時間放送する。また、鬼である堕姫（だき）を演じる声優が沢城みゆきであること、遊郭編のオープニング曲が『残響散歌』、エンディング曲が...  
4203 | 新種のスピノサウルス類が2種 イギリス |
{{日付|2021年9月30日}}[[w:Phys.org|Phys.org]]に掲載された記事によると、イギリスから2種類の新種の大型肉食恐竜が発表された。どちらも部分的な化石が発見されており、研究の結果[[w:スピノサウルス科|スピノサウルス類]]であることが判明した。このグループの起源に迫ることもできる研究だという。[[File:Baryonyx
NHM.jpg|サムネイル|以前イギリスで発見されたバリオニクスの骨格。]]化石は1億2500万年以上前の地層から発見された。化石は両方の種で頭...


CC BY-SA 4.0
2021-10-14T14:19:08.027
83098
2021-10-14T16:49:00.370
2021-10-14T16:49:00.370
47127
47127
83095
answer