#やりたいことの概要
現在、Wikiの移行作業を行っております。
その中で、HTMLで記載された文章をPythonのHTML2TEXTというライブラリを使って、変換した結果、以下のようなURLを吐き出す場合が発生しました。
正常な状態
テキストテキストの続き
吐き出された状態パターン1
[テキスト
テキストの続き](https://test.com/te
st1/test2/test3/
test4/test5)
吐き出された状態パターン2
[https://test.com/te
st1/test2/test3/
test4/test5](https://test.com/te
st1/test2/test3/
test4/test5)
全記事の中から上記の異常な箇所を抜き出し、正しく直したものに置換し、再投稿(更新)をかけたいと思っております。
大雑把に、
1.全記事を取得し、本文を抽出する
2.上記異常な箇所をre.findallを使って抽出する
3.異常箇所を置換して修正する
4.修正後の本文を再投稿(更新)する
という工程での作業を想定しています。
叶えたいこと
上記吐き出された状態パターン1,2それぞれからURLを(https://test.com/test1/test2/test3/test4/test5)の状態で取得したい。
# 問題が起きていること
2. 上記異常な箇所をre.findallを使って抽出する
において、対象のURLの抽出に困っております。
以下のコードで抽出を行っておりますが、こちらで実行すると、記事全文が取得されてしまいます。
- urls = re.findall(r'[([]https://[\S\s]*[)]]',body)
検索の末尾を\nにしてしまうと、1行しか検索されずに、正しいURLの取得をすることができておりません。
もちろん、上記の方法で抽出しても、さらに整形する必要があるのは承知しております。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー