• 10
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

はじめに

クローラー/Webスクレイピング Advent Calendar 2015の23日目です。
またAdventerのPerfume Advent Calendar 2015も兼ねてますm(_ _)m

Pythonによるテキスト整形ツール「tse」を用いて、ワンライナーWebスクレイピングを紹介しようと思います。

tseとは?

詳しくは今年のPyCon JP 2015で石本さんが発表されたスライドを見れば、理解できるかと思います。
tse - Pythonによるテキスト整形ユーティリティ

先日tseの紹介記事を書いたので、そちらも参考にどうぞ。
tse - Text Stream Editor in Python の紹介

Perfumeの最新ニュースを取得

それでは来週に控えた紅白歌合戦でのPerfumeのパフォーマンスをより一層楽しむために、頭の整理として直近のニュースを音楽ナタリーからざっと拾ってきましょう。

実際にやってみる

curl http://natalie.mu/music/news/list/artist_id/217 | tse -ms 'bs4' -b 'for dt in BeautifulSoup(sys.stdin.read(), "lxml").find_all("dt", class_="NA_title", limit=30):{{print(dt.string)}}'
出力
紅白でV6 & Perfumeがミッキーたちと共演、嵐は「スター・ウォーズ」とタッグ
嵐、AKB、ベビメタ、X JAPANほか「Mステスーパーライブ」曲目発表
「紅白歌合戦」出場歌手曲目発表、小林幸子は「千本桜」披露
CDTV年越し特番にaiko、アレキ、KANA-BOON、T.M.R.、Perfume、星野源ら
Perfume、アニバーサリー武道館ライブ映像集のティザー解禁
音楽&サブカル系映画イベントでPerfumeドキュメンタリー、BiSキャノほか上映
48&46、スタダ、ハロプロ混成メドレーも!ライブ特化型「FNS歌謡祭」16日OA
川谷絵音の誕生日を豪華面々が祝福、indigo la End史上最大ワンマン大盛況
「Mステ」年末SPにミスチル、ラルク、YUKI、ベビメタ、嵐、X JAPANら豪華42組
Perfume×競技かるた、映画「ちはやふる」予告編で新曲解禁
“ニセ3人娘”も来た!23年目の「AAA」でPerfume、ポルノ、神木隆之介ら豪華共演
原作者&広瀬すず感激、Perfumeが映画「ちはやふる」書き下ろし主題歌
涙あり笑いありモノマネあり!歓喜の第66回紅白出場者会見
紅白にBUMP、乃木坂、星野源、ゲス、μ'sら10組初出場!X JAPANは18年ぶり
Perfumeがメルセデス・ベンツのキャラクターに、デザインは貞本義行
Perfume武道館ライブが映像化、初回盤に10DAYSダイジェスト&すごろく全公演
チャット企画「こなそんフェス」にPerfume、KANA-BOON、シアターブルック
日テレ4時間音楽特番にaiko、いきもの、きゃりー、セカオワら29組
「FNS歌謡祭」に嵐、Perfume、三代目、ももクロ、星野源ら
「MTV VMAJ」受賞者に星野源、三代目JSB、安室ら
来週「Mステ」にいきもの、NMB、大原櫻子、関ジャニ、bknb、Perfume
「Perfumeスゴイぞ芸人」再び!掟ポルシェ、阿佐ヶ谷姉妹渡辺が登壇
Perfume、徳間時代のアルバム5作品がアナログ化
次回「魁」にエビ中、TOKIO、Perfume、KANA-BOON、グドモ登場
Perfume、総務大臣賞/ACCグランプリ受賞し「チームを評価してもらえてうれしい」
PerfumeのYahoo!検索きせかえに「STAR TRAIN」Ver.登場
次回「CDTV」にPerfume、いきものがかり、TOKIO登場
「数年来の大ファン」志村けんがPerfumeを対談相手に指名、Eテレでオンエア
「ずっと3人で一緒に」Perfume、映画祭でこれからの夢を明かす
東京国際映画祭レッドカーペットにPerfume、ぱるる、ELT、宮野真守、GACKTら登場

注目記事

『紅白でV6 & Perfumeがミッキーたちと共演、嵐は「スター・ウォーズ」とタッグ』

このニュースはやばいですね!Perfumeとディズニーのコラボ!!
2013/08/14 NHK総合テレビ『みんなをつなぐ魔法のメロディー“ディズニー&ジブリの名曲”』での感動が再び!!!
https://www.youtube.com/watch?v=qdPDeG_XxaU

解説

tse

-ms  -- <モジュール名 import * 形式>でインポートする
-b   -- 起動直後に実行するアクション
{{}} -- インデントするブロックを指定

tseの-msオプションのおかげで、BeautifulSoupをワンライナーで実行できることができました!

おわりに

以上、tseを用いたワンライナーWebスクレイピングの技を紹介しました。

tseは普段慣れているPythonでの記述をワンライナーに応用できてめっちゃ便利です!
ぜひPerfume以外のシーンでも使ってみてください。

さて、クローラー/Webスクレイピング Advent Calendar 2015も残すところわずかです!
最終日の@jz5さんによって、Advent Calendar未投稿者として晒しあげられないように皆さん気を付けていきましょう。