前提
フィルマークス(レビューサイト)のスクレイピングをしたいです。
OSなどは以下に記載
Windows11
jupyter Notebook (pyrhon)
スクレイピングするURL
https://filmarks.com/movies/76158
取得したいものは
タイトル、上映日、上映時間、ジャンル、総合評価(4.1など)、目のマーク(鑑賞した人数)、プラスのマーク(お気に入りの数)
計7つです。
実現したいこと
上記7つを取得し、csvファイルに出力したいです。
欲を言えば、1だけでなくいくつもフィルマークスの映画のURLを取得しているので、そのURLをまとめたエクセルを渡してあげて(既に作成済み)、1つのURL(1作品)に対して7つの変数を取得し、それぞれcsvファイルを作成してくれるコードを書きたいのですが力不足です。
とにかく最低限は、7つを取得しcsvファイルに抽出することです!
発生している問題・エラーメッセージ
大変恐縮なのですがフィルマークスの構造が複雑で自分には難しく、初心者なのでアドバイスをいただけたら幸いです。qiitaなどのネットで調べてみたのですがいまいちピンときたものがなく行き詰まっています。
①タイトルに関して
<span>のみ、という指定をしていないので下の<small>の部分も入っています。
title = player_infos = soup.find("h2", class_="p-content-detail__title")の変数をどのようにすれば<span>のみのタイトルを取得することができるのでしょうか。
②「上映時間」では「p-content-detail__other-info-title」が3つあり、その最後のところに記載されている構造となっています。3つめ、というのはどんな指定をすれば取得できるのでしょうか。
③ジャンルに関して
p-content-detail__genre-titleの下の「ul」の下の「li」に入っています。どのように階層をたどればいいのでしょうか。
④観た数、保存数
こちらもclassの名前が同じでしたのでどうやって分けるかが分かりませんでした。
<a rel="nofollow" href="/login">
<span class="c-content__count">110732</span></a>
という構造になっていて、ログインしなくても数値は見えますが、スクレイピングする際はログインするコードも書かなければ、情報を取得できないのでしょうか。出力結果に書いてある通り{{ viewingMarkCount }}となってしまいました。
以上、4つと、これをcsvファイルに渡すことを目指しております。
アドバイスのほどよろしくお願いいたします。
該当のソースコード
python
1import pandas as pd # data analysis 2import requests # get url 3from bs4 import BeautifulSoup 4 5URL = "https://filmarks.com/movies/76158" 6 7html = requests.get(URL) # HTMLを取ってくる 8soup = BeautifulSoup(html.content, "html.parser") # HTMLを解析する 9 10 11title = soup.find("h2", class_="p-content-detail__title").text 12day = soup.find("h3", class_="p-content-detail__other-info-title").text 13 14#classが同じ名前だから指定できない、3つめのclassが上映時間となっている 15time = soup.find("h3", class_="p-content-detail__other-info-title").text 16 17score = soup.find("div", class_="c-rating__score").text 18 19#これも2つ同じ名前 20#左側 21look = soup.find("span", class_="c-content__count").text 22#右側 23save = soup.find("span", class_="c-content__count").text 24 25 26print(title) 27print(zyouei) 28print(time) 29print(score) 30print(look) 31print(save)
出力結果
スパイダーマン:ファー・フロム・ホーム(2019年製作の映画)
上映日:2019年06月28日
上映日:2019年06月28日
4.1
{{ viewingMarkCount }}
{{ viewingMarkCount }}
またこちらのにも質問をしています。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12270197322
回答1件
あなたの回答
tips
プレビュー