> 백엔드 개발 > 파이썬 튜토리얼 > Python을 사용한 실용적인 크롤러 전투: Maoyan 영화 크롤러

Python을 사용한 실용적인 크롤러 전투: Maoyan 영화 크롤러

WBOY
풀어 주다: 2023-06-10 12:27:26
원래의
2916명이 탐색했습니다.

인터넷 기술의 급속한 발전으로 인해 인터넷에 존재하는 정보의 양은 점점 더 많아지고 있습니다. Maoyan Movies는 국내 최고의 영화 데이터 플랫폼으로서 사용자에게 포괄적인 영화 정보 서비스를 제공합니다. 이 기사에서는 Python을 사용하여 간단한 Maoyan 영화 크롤러를 작성하여 영화 관련 데이터를 얻는 방법을 소개합니다.

  1. 크롤러 개요

크롤러 또는 웹 크롤러는 자동으로 인터넷 데이터를 얻는 프로그램입니다. 대상 웹사이트에 접속하고 인터넷 링크를 통해 데이터를 얻을 수 있어 자동 정보 수집이 가능합니다. Python은 데이터 처리, 웹 크롤러, 시각적 차트 등에 널리 사용되는 강력한 프로그래밍 언어입니다.

  1. 크롤러 구현

이 기사의 Maoyan 영화 크롤러는 Python의 요청 및 BeautifulSoup 라이브러리를 통해 구현됩니다. Requests는 웹 페이지 요청을 쉽게 보낼 수 있는 Python HTTP 라이브러리이고, BeautifulSoup은 HTML 페이지를 빠르게 구문 분석할 수 있는 Python의 HTML 구문 분석 라이브러리입니다. 시작하기 전에 이 두 라이브러리를 설치해야 합니다.

2.1 라이브러리 가져오기

Python 편집기를 열고 새 Python 파일을 만듭니다. 먼저 필요한 라이브러리를 가져와야 합니다.

import requests
from bs4 import BeautifulSoup
import csv
로그인 후 복사

2.2 요청 링크 만들기

다음으로 요청 링크를 만듭니다. Maoyan Movie 웹사이트를 열고 대상 영화에 대한 링크를 찾아 복사합니다. 다음은 영화 "명탐정 차이나타운 3"입니다.

url = 'https://maoyan.com/films/1250952'
로그인 후 복사

2.3 요청 보내기

헤더를 생성하고 요청 헤더 정보를 설정합니다. 헤더 정보에는 일반적으로 실제 시뮬레이션을 위한 User-Agent, Referer, Cookie 및 기타 정보가 포함됩니다. 웹 페이지에 액세스하기 위한 브라우저 요청입니다. 여기서는 Chrome 브라우저를 예로 들어보겠습니다. 그런 다음 요청 라이브러리를 사용하여 요청을 보내고 웹 페이지의 HTML 코드를 얻습니다.

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;Win64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
response = requests.get(url,headers=headers)
html = response.text
로그인 후 복사

2.4 HTML 코드 구문 분석

얻은 HTML 코드를 BeautifulSoup 개체로 변환하고 BeautifulSoup 라이브러리를 사용하여 HTML 코드를 구문 분석하고 목표 데이터. Maoyan 영화 웹사이트의 HTML 코드 구조는 상대적으로 복잡하기 때문에 HTML과 BeautifulSoup에 대한 심층적인 지식이 필요합니다.

soup = BeautifulSoup(html,'html.parser')
movie_title = soup.find('h1',class_='name').text
movie_info = soup.find_all('div',class_='movie-brief-container')[0]
movie_type = movie_info.find_all('li')[0].text 
movie_release_data = movie_info.find_all('li')[2].text 
movie_actors = movie_info.find_all('li')[1].text 
movie_score = soup.find('span',class_='score-num').text
로그인 후 복사

2.5 데이터 저장

HTML 페이지를 처리한 후 얻은 데이터를 로컬에 저장해야 합니다. 여기서는 Python의 csv 라이브러리를 사용하여 데이터를 저장합니다. csv 라이브러리는 후속 처리를 용이하게 하기 위해 데이터를 CSV 형식으로 변환할 수 있습니다.

with open('movie.csv','w',newline='',encoding='utf-8-sig') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['电影名称',movie_title])
    writer.writerow(['电影类型',movie_type])
    writer.writerow(['上映日期',movie_release_data])
    writer.writerow(['演员阵容',movie_actors])
    writer.writerow(['豆瓣评分',movie_score])
로그인 후 복사

전체 코드는 다음과 같습니다.

import requests
from bs4 import BeautifulSoup
import csv

url = 'https://maoyan.com/films/1250952'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;Win64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
response = requests.get(url,headers=headers)
html = response.text
soup = BeautifulSoup(html,'html.parser')
movie_title = soup.find('h1',class_='name').text
movie_info = soup.find_all('div',class_='movie-brief-container')[0]
movie_type = movie_info.find_all('li')[0].text 
movie_release_data = movie_info.find_all('li')[2].text 
movie_actors = movie_info.find_all('li')[1].text 
movie_score = soup.find('span',class_='score-num').text 
with open('movie.csv','w',newline='',encoding='utf-8-sig') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['电影名称',movie_title])
    writer.writerow(['电影类型',movie_type])
    writer.writerow(['上映日期',movie_release_data])
    writer.writerow(['演员阵容',movie_actors])
    writer.writerow(['豆瓣评分',movie_score])
로그인 후 복사
  1. Summary

이 글에서는 Python의 요청과 BeautifulSoup 라이브러리를 사용하여 Maoyan 무비 크롤러를 구현하는 방법을 소개합니다. 네트워크 요청 전송, HTML 코드 구문 분석, 데이터 저장 및 기타 단계를 통해 대상 영화 관련 데이터를 쉽게 가져와 로컬에 저장할 수 있습니다. 웹 크롤러 기술은 데이터 수집, 데이터 마이닝 등에 광범위한 응용 가치를 가지고 있습니다. 우리는 지속적인 학습을 통해 기술 수준을 향상시키고 계속해서 실제로 탐구할 수 있습니다.

위 내용은 Python을 사용한 실용적인 크롤러 전투: Maoyan 영화 크롤러의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿