代码拉取完成,页面将自动刷新
同步操作将从 SHTLLS/Python练习 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# 任务详情
# 给定内地某日票房排行榜,输入指定影片名称movie_name,如:'金刚川'。完成以下任务:
# 1. 任务一:获取指定影片的上映天数。如“金刚川”上映20天,返回20;“一日成交”上映首日,返回0,“翱翔雄心”点映,返回-1
# 2. 任务二:获取指定影片的综合票房(万元)。如“金刚川”,返回432.33
# 3. 任务三:获取指定影片的排片占比。如“金刚川”,返回0.248
# 任务要求
# 1. 程序接收str类型的变量movie_name,返回list类型的变量
# 2. 返回列表包含参数如下:[任务一:int, 任务二:float,任务三:float]
# 3. 任务一中,如果是上映天数是“上映首日”,返回0;如果上映天数是“点映”,返回-1
# 4. 任务三中需要将百分比形式转换为小数点形式。如'24.8%'需要转换为0.248;如果票房<0.1%,返回0.001
# 5. 票房信息排行榜在下方给出,utf-8编码
# 测试用例
# 输入:'金刚川'
# 输出:[20, 431.33, 0.248]
# 输入:'半条棉被'
# 输出:[69, 2.54, 0.001]
#
# 链接:http://72.itmc.org.cn:80/JS001/open/show/box_office_on_a_certain_day.html
#
#
# 1.运行或提交代码不需要自己编写测试用例,后台自动进行测试检查。
# 2.您编写代码的区域可以不限定在类或者函数体内,保证输入与输出符合任务要求即可。
# 3.点击“运行代码”按钮,可以查看程序设计是否正确,运行次数越多,任务得分越低。
# 4.点击“提交代码”按钮,系统将保存代码,并记录任务数据。
# 5.点击右上方“结束任务”按钮,系统将在后台计算任务得分,任务结束。
# -*- coding: utf-8 -*-
import re
import jieba
import bs4
import requests
class Solution:
def BoxOfficeSpider(self, movie_name: str) -> list:
url = "http://72.itmc.org.cn:80/JS001/open/show/box_office_on_a_certain_day.html"
res = requests.get(url)
res.encoding = 'utf-8'
list1 = []
data = bs4.BeautifulSoup(res.text, "html.parser")
tbody = data.find_all("tbody")[0]
td = tbody.find_all("td", "tbody-col-name")
for i in td:
p = i.find_all('p', "movie-name")
if p[0].text == movie_name:
day = i.find_all('span', 'releaseInfo')
if day[0].text[:2] == "点映":
list1.append(-1)
elif day[0].text[2:] == "首日":
list1.append(0)
else:
list1.append(int(day[0].text[2:-1]))
zonghe = i.find_all("div", "boxDesc-wrap")
list1.append(float(zonghe[0].text))
paipian = i.find_all("div", "countRate-wrap")
if paipian[0].text == "<0.1%":
list1.append(0.001)
else:
list1.append(round(float(paipian[0].text.replace("%", "")) / 100, 3))
return list1
print(Solution.BoxOfficeSpider(Solution, "一日成交"))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。