さて JSON形式でテキストを取得できましたので問題に戻ります。
021 次のようなカテゴリー名を取得する問題です。
{{デフォルトソート:いきりす}} [[Category:イギリス|*]] [[Category:英連邦王国|*]] [[Category:G8加盟国]] [[Category:欧州連合加盟国]] [[Category:海洋国家]] [[Category:君主国]] [[Category:島国|くれいとふりてん]] [[Category:1801年に設立された州・地域]]
ひとまず、正規表現で取得してみます。
import re r = re.compile(r'Category.*') r.search(n21)
<_sre.SRE_Match object; span=(36844, 36863), match='[[Category:イギリス|*]]'>
最初の1箇所しか返ってきていませんね。 for文で回して取り出していくのかと1時間くらい格闘していましたが、SRE_Patternクラスにはfindallメソッドと言うのがあるのに気付きました。
search( )やmatch( )では最初にマッチした部分しか取り出せません。マッチした部分を全て取り出すにはfindall( )を使います。
import re r = re.compile(r'Category.*') r.findall(n21)
['Category:イギリス|*]]', 'Category:英連邦王国|*]]', 'Category:G8加盟国]]', 'Category:欧州連合加盟国]]', 'Category:海洋国家]]', 'Category:君主国]]', 'Category:島国|くれいとふりてん]]', 'Category:1801年に設立された州・地域]]']
22 下のようなものを数値に変換する問題ですね。
==政治== ===気候=== ====イギリスのポピュラー音楽====
また難しい問題ですね。 ひとまず正規表現で取得。
import re section_reg = re.compile(r'(==+)(..+)(==+)') r.findall(n21)
実行結果。
[('==', '国名', '=='), ('==', '歴史', '=='), ('==', '地理', '=='), ('===', '気候=', '==' ('===', '食文化=', '=='), ('===', '文学=', '=='), ('===', ' 哲学 =', '=='), ('===', '音楽=', '=='), ('====', 'イギリスのポピュラー音楽==', '=='),
Oh! うまく取得できていないですね。いくらやってもうまくいかないので、このまま行きます。
A[0][0:2]
こうやれば必要なものは取得できますし。
import re section_reg = re.compile(r'(==+)(.)(==+)') A = r.findall(n21) A[0][0:2] for i in range(len(A)): if A[i][0] == '====': print(3) elif A[i][0] == '===': print(2) else: print(1)
ひとまず、こうすればセクションのレベルは取得できます。 しかし、全く進まないですね。
今日の結果
今日のAKBの呟きは59件でした。 要約するとこんな感じです。
ニコ生での中継もあるからね!絶対見てくださーーい?✨""やびちゃんの生誕イベントに出演させて頂きました!? さい&こうでした。"AKB新聞!!よろしくお願いします!!""メンバー数人、東京湾の夜景を見に連れてってあげたいと計画。女(20代)にしては変わった遊び。"柚子ごしょう好きになった。大人にまたなった"しごおわ帰る""すき+すき=だいすき❤️❤️❤️""今日は東京マハロさんの"たぶん世界は8年目"をみに行きました。本当に凄かった。最後の最後までいろんな感情がうまれる作品でした。そして何より久し振りに皆さんにお会いできて嬉しすぎました☺️皆さんお優しくて本当に好き。ゆりあちゃん久…""こんばんは!1度日本に来てます??? "今日は美容dayでした☆美容院にも行けたし、人生で初めてまつエクもつけてみたの〜(*´ω`*)♡明日からメイクするのが楽しみ♪明日のじゃんけん大会、どんな髪型とメイクにしようかな〜( ̄▽ ̄)""SHOWROOMありがとうございました☆明日のじゃんけん大会、絶対勝つぞー\(^o^)/\(^o^)/#武藤シスターズ""20:40からSHOWROOMやりまーす!#武藤シスターズ( ̄▽ ̄)""3位!!!初のダイスキ選抜でこんなに高い順位なんて、、☆応援してくださった皆さん本当にありがとうございました♡♡わーい\(^o^)/""#プラチナフラッシュのオフショット①絶賛発売中です☆.
'可愛い': 6, '嬉しい': 4, '楽しい': 4, '凄い': 3, 'よい': 2, '優しい': 2, '早い': 2, '美味しい': 2, 'すごい': 1, 'たのしい': 1, '無い': 1, '面白い': 1, 'いい': 1, '新しい': 1, 'ない': 1, '高い': 1, '仲良い': 1, '恋しい': 1 '明日': 9, '舞台': 8, '今日': 8, '皆さん': 8, '大会': 7, '可愛い': 6, '私': 6, 'ちゃん': 6, 'カフェ': 5, 'お願い': 5, '公演': 5, 'する': 35, 'くださる': 12, '明日': 9, 'てる': 9, 'ける': 9, '見る': 9, 'くれる': 9, '舞台': 8, '今日': 8, '皆さん': 8, '大会': 7, 'なる': 7, '可愛い': 6, '私': 6, 'ちゃん': 6, '行く': 6, 'カフェ': 5, 'お願い': 5, '公演': 5, 'ある': 5, 'いる': 5, '来る': 5,