Filmarks에서 데이터 추출을 목적으로 웹 스크래핑 공부 #1

순서가 전후해 버렸습니다만 이번이 1회째입니다.

홈페이지 : htps : // p 여과 등 m 보아 rd. 이 m
웹 스크래핑의 공부로서, Filmarks보다 연대별로 고평가가 되고 있는 영화 일람의 작성을 최종 목적으로 한 데이터 추출을 실시합니다. 본 논문에서는 우선 첫 번째 목표로 Filmarks의 첫 페이지 영화 제목을 추출하는 것을 목표로합니다.

왜 Filmarks인가?



많은 영화 리뷰 사이트가 있는데, 왜 "Filmmarks"인가. 이유는 HTML의 구조식이 단순하고 스크래핑 초보자를 향하고 있기 때문이 아닌가 라는 것입니다. 실제로 그런지, 검증은 되어 있지 않습니다만, 아마추어에서는 모르기 때문에 솔직하게 따릅니다. 다음 문장은 그물보다 발췌 한 것입니다.
Filmarksは「国内最大級の映画レビューサービス」です。2018年8月23日22時頃で5314万3638件のレビューが掲載されています。
映画レビューサイトはFilmarks以外にもYahoo!映画や映画.com、みんなのシネマレビューなどがあります。
ほかにも映画レビューサイトはあるのになぜFilmarksからレビューを取得するのかというとまず「HTMLの構造が単純でスクレイピングしやすい」というのがあります。複雑なHTML構造をしていないため、スクレイピング初心者の方やPython初心者の方がスクレイピングを学ぶ入り口としてはちょうどいいのではないかと思います。
htps : // cm t. 는 bぉ. jp/엔트리/2018/08/30/120000

모듈



주요 모듈은 웹 데이터 다운로드 용 "요청"과 HTML 분석 용 라이브러리 "bs4 (beautiful soup4)"를 사용합니다.
import requests #webデータダウンロード用
from bs4 import BeautifulSoup  # HTML解析用のライブラリ</code></pre></div>

웹페이지 정보 얻기



requests를 사용하여 웹 페이지를 다운로드합니다. requests.get을 사용하여 임의의 다음 URL 페이지를 다운로드합니다. htps : // 푼마 rks. 코 m / st / t 벽 d
import requests

url= &#39;https://filmarks.com/list/trend&#39;
res = requests.get(url)
res.text



HTML 정보 정형



상품 페이지의 HTML을 다운로드 할 수있었습니다. 그러나 HTML의 내용이 줄 바꿈없이 쓰여지기 때문에 이대로는 분석하기 어렵습니다. 따라서 분석을 용이하게하기 위해 bs4를 사용하여 읽기 쉬운 형태로 성형합니다. ※여기에서는, BeautifulSoup의 인수에 HTML의 정보만을 사용하고 있지만, 사람에 따라서는 「features='lxml'」를 입력하지 않으면 회전하지 않는 것 같습니다.
import bs4

soup = bs4.BeautifulSoup(res.text) #features=&#39;lxml&#39;)
print( soup.prettify() 



추출할 항목을 확인



HTML 정보의 정형은 가능했습니다. 그럼, 추출에 걸립니다. 이 논문에서는 영화 제목을 추출하지만 HTML에서 영화 제목이 어떻게 저장되는지 잘 모르겠습니다. 이 절에서는 Safari의 경우 추출하려는 정보를 확인하는 방법을 설명합니다.

Safari 설정



Safari에서 HTML 정보 (소스 코드)를 확인하려면 기본 설정에서 변경해야합니다. Safari의 환경 설정을 열고 "세부 사항"아래에 "메뉴 바에 "개발"메뉴 표시"를 체크합니다.



이렇게하면 소스 코드를 볼 수 있습니다. 이번에는 영화 제목을 추출하므로 제목을 마우스 오른쪽 버튼으로 클릭하고 "요소 세부 정보 표시"에서 영화 제목을 나타내는 소스 코드를 볼 수 있습니다.



  • 소스 코드 확인



    위의 작업보다 다음과 같은 화면이됩니다. 이 화면의 영화 제목을 나타내는 소스 코드는 왼쪽의 빨간색 프레임과 오른쪽의 파란색 해칭입니다. 이 논문의 프로그램은 왼쪽의 빨간색 프레임을 사용합니다. 소스 코드의 의미 자체는 공부 부족으로 알고 있지 않으므로, 이해하는 대로 기재합니다.




    ※他サイトでは右側のソースコードをベースに用いているが,筆者の構文では回らなかったので以下のサイトを参考にしています.回らなかった理由いついて,投稿時(10/02)ではわかっていません. 파이썬에서 아마존 리뷰 검색

    제목 추출



    추출하려는 정보의 소스 코드를 알았으므로 함수는 .select (소스 코드)를 사용하여 영화 제목을 추출합니다.
    
    titles = soup.select(&#39;h3.p-movie-cassette__title&#39;) #ソースコード
    for title in titles:
        print(title.text)</code></pre></div>
    



    향후 예정



    본고에서는 Filmarks의 1페이지째의 영화 타이틀만을 추출했습니다. 앞으로는 이하와 같은 일을 하고 싶다고 생각하고 있습니다.
    1 페이지에서 영화 제목 이외의 항목도 동시에 추출하는 1-10 페이지까지의 정보를 추출한다. Filmarks의 모든 페이지에 대한 정보를 추출합니다. 연대별로 고평가가 되고 있는 영화 일람의 작성(여기에서는 SQL도 사용할 예정)

    시간은 걸린다고 생각합니다만, 서서히 해 갑니다.

    참고문헌



    Filmarks에서 감상한 영화의 점수 목록을 받으세요. Python으로 Filmarks에서 전체 영화 리뷰 받기 파이썬에서 아마존 리뷰 검색 Safari에서 웹 페이지 소스 코드를 보는 방법. (HTML & CSS)

    좋은 웹페이지 즐겨찾기