見出し画像

python BeautifulSoup スクレイピングした後の改行とかを簡単に削除する

スクレイピングした後、特に文字列を抽出したい時に、文字列の中に改行とかがあるとイライラしますよね。

res = requests.get(url)
soup = bs4(res.content, "lxml")
elems = [tag.text for tag in soup(class_ = "newstxt")]

importのところは省きます。別に書いてもよかったんだけど、、、

まずはbeautifulSoupでいろいろ読み込みます。そして、文字列の部分、ここでは、classでnewstxtを指定。ここにいろいろな文字列が入っているとしましょう。例えば、こんな感じで。

['\n生産終了製品のご案内に2色表示式高精度デジタル圧力スイッチ/ZSE30A(F)/ISE30Aを公開しました。\n',
'\n生産終了製品のご案内に2色表示式高精度デジタル圧力スイッチ/ZSE40A(F)/ISE40Aを公開しました。\n',
'\n生産終了製品のご案内に2色表示式デジタル圧力スイッチ/ZSE80(F)/ISE80(H)を公開しました。\n',
'\n7月のSMCオンライン空気圧技術講習会を公開しました。\n',
'\n新製品情報に高精度タイプ電動スライドテーブル/LESYH-X171を公開しました。\n',
'\n新型コロナウイルス感染症への対応について(更新)\n']

別にこのままでも、データとしてはいいんだけれど、少し整形したいよねって時は、for文を回します。

news_list = []
for elem in elems:
   news = elem.replace("\n","")
   news_list.append(news)

news_listでリストを事前に作ります。そして、for文の中で、一個ずつ、改行を置き換えていって、news_listにappendしていきます。

これで、すっきりしたリストになります。

['生産終了製品のご案内に2色表示式高精度デジタル圧力スイッチ/ZSE30A(F)/ISE30Aを公開しました。',
'生産終了製品のご案内に2色表示式高精度デジタル圧力スイッチ/ZSE40A(F)/ISE40Aを公開しました。',
'生産終了製品のご案内に2色表示式デジタル圧力スイッチ/ZSE80(F)/ISE80(H)を公開しました。',
'7月のSMCオンライン空気圧技術講習会を公開しました。',
'新製品情報に高精度タイプ電動スライドテーブル/LESYH-X171を公開しました。',
'新型コロナウイルス感染症への対応について(更新)']



この記事が気に入ったらサポートをしてみませんか?