スクレイピングに興味あったのでやってみた。
urllibでスクレイピング対象のURLを開く、BeautifulSoupでHTMLから欲しい情報を取得。
import urllib.request
from bs4 import BeautifulSoup
def scraping():
# アクセスするURL
url = "https://movies.yahoo.co.jp/movie/soon/"
# htmlの取得
html = urllib.request.urlopen(url)
bs = BeautifulSoup(html, "html.parser")
# 各映画の情報
movies = bs.findAll("div", {"class":"thumbnail__caption"})
# 出力
for movie in movies:
title = movie.find("a").string
date = movie.find("span", {"class":"label bgcolor-B"}).string
print(title, date)
if __name__ == "__main__":
scraping()
Python3じゃないとfrom bs4 import BeautifulSoup
でエラーでるし、
Python3だとimport urllib2
ではなくimport urllib.request
にしないとだめっぽい。
実行するとこんなかんじ。
犬鳴村 2020年2月7日公開
ヲタクに恋は難しい 2020年2月7日公開
アントラム 史上最も呪われた映画 2020年2月7日公開
ハスラーズ 2020年2月7日公開
ザ・ピーナッツバター・ファルコン 2020年2月7日公開
グッドライアー 偽りのゲーム 2020年2月7日公開
37セカンズ 2020年2月7日公開
ファンシー 2020年2月7日公開
静かな雨 2020年2月7日公開
侍の名のもとに~野球日本代表 侍ジャパンの800日~ 2020年2月7日公開
アンストッパブル 2020年2月7日公開
グリンゴ/最強の悪運男 2020年2月7日公開
ロニートとエスティ 彼女たちの選択 2020年2月7日公開
スキンウォーカー 2020年2月7日公開
プロジェクト・グーテンベルク 贋札王 2020年2月7日公開
DRONE/ドローン 2020年2月7日公開
スクレイピング、思ったより取得するだけならかんたんだった。
今後は概要を取りたい。ページをまたがないと。
メモ
今回Python初めて触ったのでif __name__ == "__main__":
こいつが何者か謎だった…
以下がとてもわかりやすかった。感謝。
https://qiita.com/homines22/items/edf7a2309f3421723550