思路:
进入电影天堂首页,提取到主页面中的每一个电影的背后的那个urL地址 a. 拿到“2024必看热片”那一块的HTML代码 b. 从刚才拿到的HTML代码中提取到href的值
访问子页面,提取到电影的名称以及下载地址 a. 拿到子页面的页面源代码 b. 数据提取
代码实现:
from tqdm import tqdm
import requests
import re
from selenium import webdriver
from selenium. webdriver. edge. options import Options
class MovieScraper :
"""
MovieScraper类用于从网站抓取电影信息。
属性
----------
edge_options : Options
用于配置webdriver的selenium Options对象
web_driver : webdriver
用于与网站交互的selenium webdriver
request_headers : dict
包含请求头的字典
方法
-------
get_response(url)
向指定的URL发送GET请求并返回响应。
get_movie_list_html(response)
从响应中提取电影列表的HTML。
get_sub_url_list(movie_list_html)
从电影列表HTML中提取子URL。
get_movie_info(child_response)
从子URL的响应中提取电影信息。
scrape(target_url)
从指定的URL抓取电影信息并写入文件。
"""
def __init__ ( self) :
"""初始化MovieScraper,配置webdriver和请求头。"""
self. edge_options = Options( )
self. edge_options. add_argument( "headless" )
self. web_driver = webdriver. Edge( options