Python爬虫爬取香港电影评分网站各榜单

Python爬虫

香港电影评分网站

在这里插入图片描述
各大榜单

在这里插入图片描述
最新电影榜单

在这里插入图片描述

步骤

1、找到所有的榜单地址

base_url = "https://hkmovie6.com"
edit_url = "https://hkmovie6.com/collection" # 编辑精选
marvel_url = "https://hkmovie6.com/collection/0bb46a15-ceaf-4cf0-a9ed-14284b32c5c1" # 漫威宇宙
dc_url = "https://hkmovie6.com/collection/c3400e0e-78ac-4184-ac4f-972f46dd3b07" # dc宇宙
star_wars_url = "https://hkmovie6.com/collection/3eabc7b5-c674-42a3-8069-522a02bf8f1a" # 星球大战系列
oscars_url = "https://hkmovie6.com/collection/ba07fa64-8297-49d7-ba4c-fb9bed210a65" # 奥斯卡金像奖得奖名单
new_url = "https://hkmovie6.com/watch/latest" # 最新

2、分析排行榜获取电影详情页地址

在这里插入图片描述

3、根据详情页获取电影信息

在这里插入图片描述
4、将爬取到的数据保存到Excel文件

在这里插入图片描述

代码

# -*- coding: utf-8 -*- 

import requests
from bs4 import BeautifulSoup
import xlwt

'''
https://hkmovie6.com
'''
base_url = "https://hkmovie6.com"
edit_url = "https://hkmovie6.com/collection" # 编辑精选
marvel_url = "https://hkmovie6.com/collection/0bb46a15-ceaf-4cf0-a9ed-14284b32c5c1" # 漫威宇宙
dc_url = "https://hkmovie6.com/collection/c3400e0e-78ac-4184-ac4f-972f46dd3b07" # dc宇宙
star_wars_url = "https://hkmovie6.com/collection/3eabc7b5-c674-42a3-8069-522a02bf8f1a" # 星球大战系列
oscars_url = "https://hkmovie6.com/collection/ba07fa64-8297-49d7-ba4c-fb9bed210a65" # 奥斯卡金像奖得奖名单
new_url = "https://hkmovie6.com/watch/latest" # 最新

def get_html(url,encoding):
    response = requests.get(url)
    if response.status_code == 200:
        # 判断请求是否成功
        response.encoding = encoding
        return response.text
    else:
        return None

def get_new_data(savepath):
    '''
    获取最新模块数据
    :return:
    '''
    html = get_html(new_url, "utf-8")
    soup = BeautifulSoup(html,"html.parser")
    shows = soup.find("div",class_="shows")
    a_links = shows.find_all("a")
    datalist = []
    for a in a_links:
        mv_url = a['href']
        print(mv_url)
        result = get_detail_data(base_url + mv_url)
        datalist.append(result)
    save_to_excel(savepath,datalist)

def get_marvel_data():
    '''
    获取漫威电影系列榜单
    :return:
    '''
    html = get_html(marvel_url,"utf-8")
    get_new_data(html,"./漫威.xls")

def get_dc_data():
    '''
    获取dc电影系列榜单
    :return:
    '''
    html = get_html(dc_url,"utf-8")
    get_new_data(html,"./dc.xls")

def get_sw_data():
    '''
    获取星球大战电影系列榜单
    :return:
    '''
    html = get_html(star_wars_url,"utf-8")
    get_new_data(html,"./星球大战.xls")

def get_oscars_data():
    '''
    获取星球大战电影系列榜单
    :return:
    '''
    html = get_html(oscars_url, "utf-8")
    get_new_data(html, "./奥斯卡金像奖榜单.xls")

def save_to_excel(savepath,datalist):
    book = xlwt.Workbook(encoding="utf-8", style_compression=0)  # 创建workbook对象
    sheet = book.add_sheet('Top100', cell_overwrite_ok=True)  # 创建工作表
    col = ("电影名", "时长", "上映日期", "级别","简介")
    for i in range(0,5):
        sheet.write(0, i, col[i])  # 列名
    for i in range(0, len(datalist)):
        print("第{}条".format(i + 1))
        data = datalist[i]
        if len(data) >= 5:# 数据完整才保存
            for j in range(0, 5):
                sheet.write(i + 1, j, data[j])
    book.save(savepath)  # 保存

def get_detail_data(url):
    '''

    :return:
    '''
    print(url)
    html = get_html(url,"utf-8")
    soup = BeautifulSoup(html, "html.parser")
    mv_content = soup.find("div",class_="movieContent")
    mv_detail = mv_content.find("div",class_="movieMobileDetail")
    mv_title = mv_detail.find("div",class_="movieName").get_text().strip()
    mv_tad = mv_detail.find("div",class_="text").get_text().strip().split("|")
    mv_duration = mv_tad[1].strip()
    mv_time = mv_tad[0].strip()
    mv_level = mv_detail.find("div",class_="cat").get_text().strip()
    mv_des = mv_content.find("div",class_="synopsis").span.span['aria-label'].strip()
    # 标题 2021年2月24日 | 103 分鐘 简介  级别
    return [mv_title,mv_duration,mv_time,mv_level,mv_des]


def main():
    get_marvel_data()
    get_dc_data()
    get_sw_data()
    get_oscars_data()

if __name__ == '__main__':
    main()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值