- 第 108 篇 -
Date: 2025 - 06 - 16
Author: 郑龙浩(仟墨)
文章目录
- **任务:爬取豆瓣Tap250电影的中文名称**
- **代码**
- **实现效果**
任务:爬取豆瓣Tap250电影的中文名称
代码
# 豆瓣前Tap 250
import requests
from bs4 import BeautifulSoup
# 检查获取是否成功
def check(response):if not response.ok:print(f'请求失败,服务器错误\n状态码: {response.status_code}')exit() # 退出程序# 浏览器标识
head = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
}# 存储中文电影名
tap250_movie_title = []
# 获取每一页中的电影名(从0到225,star以25为一个步长去增加)
for start in range(0, 226, 25):# 目标网址url = f"https://movie.douban.com/top250?start={start}&filter="# 获取网页信息response = requests.get(url, headers=head)# 检查是否成功获取check(response)# 存储HTML源码html = response.text# 解析HTML,并将返回的对象存至soupsoup = BeautifulSoup(html, "html.parser")# 提取出所有包含着“电影名称”的元素(标签),包含中文名字和原本语言名字(每个名字前都有'/')# 解释:返回的是可迭代对象(列表):找到所有class值为title的<span>元素 (参数1为要查找的标签;参数2为标签中的属性,"class" : "title"为一个键值对)all_titles = soup.find_all("span", attrs={"class": "title"})# print(all_titles) # 如果此时将 all_titles 打印出来,打印的是一个列表for title in all_titles:title_string = title.string # title.string 不要标签,只要标签中的文本内容# 只打印中文电影名:只有不含 '/' 的电影名,才不是原版语言电影名,即中文电影名,那就打印if '/' not in title_string:tap250_movie_title.append(title_string) # 电影名存储到列表中print('Tap电影如下:')
num = 0
for title in tap250_movie_title:if num % 25 == 0: # 如果一行25个了,则就换行(包括第一行)print()print(f'{num+1} ~ {num + 25}: ', end='\t') # 打印下一行的开头(表示第多少个电影)num += 1 # 累加以打印电影的个数print(f'{title}', end = ' ')
实现效果
1 ~ 25: 肖申克的救赎 霸王别姬 泰坦尼克号 阿甘正传 千与千寻 美丽人生 这个杀手不太冷 星际穿越 盗梦空间 楚门的世界 辛德勒的名单 忠犬八公的故事 海上钢琴师 三傻大闹宝莱坞 疯狂动物城 放牛班的春天 机器人总动员 无间道 控方证人 大话西游之大圣娶亲 熔炉 触不可及 教父 寻梦环游记 当幸福来敲门
26 ~ 50: 末代皇帝 哈利·波特与魔法石 龙猫 怦然心动 活着 蝙蝠侠:黑暗骑士 指环王3:王者无敌 我不是药神 乱世佳人 飞屋环游记 让子弹飞 哈尔的移动城堡 素媛 十二怒汉 海蒂和爷爷 猫鼠游戏 天空之城 摔跤吧!爸爸 鬼子来了 少年派的奇幻漂流 钢琴家 指环王2:双塔奇兵 死亡诗社 大话西游之月光宝盒 何以为家
51 ~ 75: 闻香识女人 绿皮书 大闹天宫 黑客帝国 指环王1:护戒使者 罗马假日 教父2 狮子王 天堂电影院 饮食男女 辩护人 搏击俱乐部 本杰明·巴顿奇事 美丽心灵 穿条纹睡衣的男孩 情书 窃听风暴 两杆大烟枪 哈利·波特与死亡圣器(下) 音乐之声 西西里的美丽传说 功夫 阿凡达 哈利·波特与阿兹卡班的囚徒 看不见的客人
76 ~ 100: 拯救大兵瑞恩 沉默的羔羊 小鞋子 飞越疯人院 布达佩斯大饭店 蝴蝶效应 禁闭岛 致命魔术 心灵捕手 低俗小说 超脱 哈利·波特与密室 摩登时代 喜剧之王 杀人回忆 致命ID 春光乍泄 一一 海豚湾 美国往事 加勒比海盗 红辣椒 七宗罪 唐伯虎点秋香 还有明天
101 ~ 125: 狩猎 幽灵公主 甜蜜蜜 蝙蝠侠:黑暗骑士崛起 7号房的礼物 寄生虫 天书奇谭 超能陆战队 爱在黎明破晓前 被嫌弃的松子的一生 第六感 爱在日落黄昏时 重庆森林 入殓师 剪刀手爱德华 未麻的部屋 断背山 菊次郎的夏天 哈利·波特与火焰杯 借东西的小人阿莉埃蒂 勇敢的心 茶馆 头脑特工队 时空恋旅人 无人知晓
126 ~ 150: 消失的爱人 倩女幽魂 完美的世界 阳光灿烂的日子 驯龙高手 花样年华 小森林 夏秋篇 天使爱美丽 新世界 傲慢与偏见 一个叫欧维的男人决定去死 侧耳倾听 怪兽电力公司 玩具总动员3 请以你的名字呼唤我 教父3 色,戒 幸福终点站 哪吒闹海 被解救的姜戈 小森林 冬春篇 九品芝麻官 釜山行 神偷奶爸 萤火之森
151 ~ 175: 喜宴 告白 玛丽和马克思 头号玩家 模仿游戏 七武士 大鱼 惊魂记 射雕英雄传之东成西就 血战钢锯岭 我是山姆 你的名字。 阳光姐妹淘 恐怖直播 黑客帝国3:矩阵革命 背靠背,脸对脸 心灵奇旅 电锯惊魂 三块广告牌 小丑 谍影重重3 达拉斯买家俱乐部 疯狂原始人 无间道2 绿里奇迹
176 ~ 200: 爱在午夜降临前 海街日记 风之谷 上帝之城 英雄本色 疯狂的石头 雨中曲 心迷宫 2001太空漫游 末路狂花 纵横四海 记忆碎片 卢旺达饭店 高山下的花环 无敌破坏王 小偷家族 冰川时代 恐怖游轮 东京教父 牯岭街少年杀人事件 魔女宅急便 岁月神偷 忠犬八公物语 荒蛮故事 遗愿清单
201 ~ 225: 大佛普拉斯 贫民窟的百万富翁 芙蓉镇 源代码 疯狂的麦克斯4:狂暴之路 你看起来好像很好吃 东邪西毒 可可西里 爆裂鼓手 城市之光 波西米亚狂想曲 花束般的恋爱 爱乐之城 黑天鹅 机器人之梦 白日梦想家 青蛇 哈利·波特与死亡圣器(上) 终结者2:审判日 初恋这件小事 无耻混蛋 新龙门客栈 雨人 人工智能 虎口脱险
226 ~ 250: 崖上的波妞 大红灯笼高高挂 真爱至上 千钧一发 罗生门 恋恋笔记本 彗星来的那一夜 哈利·波特与凤凰社 海边的曼彻斯特 火星救援 黑客帝国2:重装上阵 奇迹男孩 萤火虫之墓 战争之王 千年女优 步履不停 谍影重重2 血钻 蜘蛛侠:平行宇宙 攻壳机动队 魂断蓝桥 冰雪奇缘 房间 隐藏人物 谍影重重