Python实战:从零开始构建一个数据抓取工具,助你轻松获得movie信息

 

在上述代码中,我们首先定义了请求头 headers,用于模拟浏览器发送请求。然后,我们使用循环遍历每个页面,并发送 HTTP 请求获取页面内容。接着,我们使用 Beautiful Soup 解析 HTML 页面,找到每个电影的名称并将其添加到 movie_names 列表中。最后,我们使用 pandas 库将电影名称保存到 Excel 文件中,并输出提示信息。

需要注意的是,由于爬取网页可能会对网站造成一定的负担,因此建议在爬取时加入适当的延迟时间,以避免过于频繁的请求。同时,爬取的数据仅供个人学习和研究使用,切勿用于商业用途。

import requests
import openpyxl

# 设置请求头
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36"
}

# 发送请求获取电影名称
url = "https://movie.douban.com/top250"
movie_names = []
for i in range(0, 250, 25):
    params = {"start": i, "filter": ""}
    response = requests.get(url, headers=headers, params=params)
    if response.status_code == 200:
        html = response.text
        start_index = html.find('<div class="hd">')
        while start_index != -1:
            end_index = html.find("</span>", start_index + 1)
            movie_name = html[start_index:end_index].replace('<span class="title">', '').replace('&nbsp;', '').replace('/', '').strip()
            movie_names.append(movie_name)
            start_index = html.find('<div class="hd">', end_index)

# 将电影名称保存到 Excel 文件中
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet.title = "Movies"
for i, movie_name in enumerate(movie_names):
    sheet.cell(row=i+1, column=1, value=movie_name)
workbook.save("movies250.xlsx")
print("Done!")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值