Python爬虫技术——爬取猫眼电影TOP100榜单

本文介绍了一种使用Python爬虫技术抓取猫眼电影Top100榜单的方法,通过解析网页源代码获取电影名称、主演及上映时间等信息,并实现了分页爬取的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

"""
    
        1、爬取猫眼电影 top100榜
            1、程序运行直接爬取第一页
            2、是否继续爬取 y\n
                y 爬取第二页
                n 爬取结束,谢谢使用
            3、把每一页的内容保存到本地 格式 第一页.html
            普通版&类版

"""
"""
猫眼电影 top100
第一页:https://maoyan.com/board/4?offset=0
第二页:https://maoyan.com/board/4?offset=10
第三页:https://maoyan.com/board/4?offset=20
"""

import urllib.request
import urllib.parse
import re
url = "https://maoyan.com/board/4?offset="

headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"}
def zhixing():
    # f = open("第%d页.html"%page, 'w', encoding="utf8")
    # print("正在写入第%d页" % page)
    # f.write(html)
    # f.close()
    # print("第%d页写入完成" % page)
    L1 = re.findall('title="(\S+)" data-act', html)
    L2 = re.findall('主演:(.+)\n', html)
    L3 = re.findall('上映时间:(.+)</p>', html)
    # print(L1)
    # print(L2)
    # print(L3)
    for i in range(0, 10):
        print(L1[i] + ' ' + L2[i] + ' ' + L3[i])
d = 0
urls = url + str(d)
print(urls)
request = urllib.request.Request(urls,headers = headers)
response = urllib.request.urlopen(request)
page = 1
html = response.read().decode("utf-8")
zhixing()
while input("是否继续(y/n):") == 'y':
    page = page + 1
    d = d + 10
    urls = url + str(d)
    print(urls)
    request = urllib.request.Request(urls, headers=headers)
    response = urllib.request.urlopen(request)
    html = response.read().decode("utf-8")
    zhixing()
else:
    print("爬取结束,谢谢使用")


Python爬虫基础案例通常从简单的网页抓取开始,比如爬取猫眼电影的数据。这里以`requests`库获取网页内容,然后用`BeautifulSoup`解析HTML,提取所需信息,并通过`pandas`将数据保存到Excel文件为例: 首先,你需要安装必要的库: ```bash pip install requests beautifulsoup4 pandas openpyxl ``` 下面是一个基本的Python爬虫脚本示例,假设我们要爬取电影名称、评分和主演信息: ```python import requests from bs4 import BeautifulSoup import pandas as pd # 爬取URL url = "https://maoyan.com/board/4" response = requests.get(url) # 解析HTML soup = BeautifulSoup(response.text, 'lxml') # 查找需要的数据元素,这里假设电影列表在class为'movie-list' movies_data = soup.find_all(class_='movie-list') # 创建空列表存储数据 data_list = [] # 遍历每部电影 for movie in movies_data: title = movie.find('a', class_='title').text rating = movie.find('i', class_='rating_num')['title'] stars = ', '.join(movie.find_all('span', class_='name')) # 将数据添加到列表 data_list.append([title, rating, stars]) # 将数据转换为DataFrame df_movies = pd.DataFrame(data_list, columns=['电影名称', '评分', '主演']) # 保存到Excel文件 filename = '猫眼电影数据.xlsx' df_movies.to_excel(filename, index=False) ``` 这个例子中,爬虫会定期访问指定的猫眼电影页面,提取每个电影的基本信息,然后将其保存到一个名为`猫眼电影数据.xlsx`的Excel文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值