国境大好き芸人

旅行と語学ととプログラミング。陸路で国境を越えるのが生きがいです。

【Python】新聞記事をスクレイピングして見出しを取り出す

python 新聞 スクレイピング

台湾の新聞、蘋果日報のネット版から見出しを取り出す処理を考えてみます。
スクレイピングするのはこのサイトです。

https://tw.entertainment.appledaily.com/daily/

まずはライブラリをインポート。

import requests
from bs4 import BeautifulSoup


上記のサイトで、「ctrl+shift+i」を押してソースを確認。

python 新聞 スクレイピング

どうやら記事の見出しは
class="echn"
と指定されたリストの中にあるようなので、このechnというクラスをまるごと取り出してみます。

#ここで今回取り出したい蘋果日報のURLを入力
url = "https://tw.entertainment.appledaily.com/daily/"
response = requests.get(url)

#クラスを指定してlistに格納する
bs = BeautifulSoup(response.content,"lxml")
list = bs.find_all(attrs={"class": "echn"})


これを実行して、listの中を見ると、こんな感じになります。

python 新聞 スクレイピング

見出しとそのURLのみを取り出したいので、listの中の要素を指定して、findでスライスする範囲を指定してあげればOK。
文字列の処理では、findだけでなく、replaceなんかもよく使いますね。

python 新聞 スクレイピング


↑のソースをキャプチャじゃなくて直接ここに書きたいんだけど、
ソースの中にh1タグ入れるとそれが反映されてソースがうまく表示されない・・・