上传文件至 /
This commit is contained in:
152
movies.html
Normal file
152
movies.html
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
<!-- exam_fingerprint: B-20260623-3317 -->
|
||||||
|
<!-- server_time: 2026-06-23 10:47:06 -->
|
||||||
|
<!-- exam_paper: B -->
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh-CN">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>电影列表</title>
|
||||||
|
<style>
|
||||||
|
body { font-family: "Microsoft YaHei", sans-serif; margin: 20px; background: #f5f5f5; }
|
||||||
|
h1 { color: #c0392b; }
|
||||||
|
.meta { color: #999; font-size: 12px; margin-bottom: 15px; }
|
||||||
|
.meta code { background: #e9ecef; padding: 2px 6px; border-radius: 3px; }
|
||||||
|
table { width: 100%; border-collapse: collapse; background: white; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
|
||||||
|
th, td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
|
||||||
|
th { background: #c0392b; color: white; }
|
||||||
|
tr:hover { background: #fef5f4; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>电影列表</h1>
|
||||||
|
<p class="meta">数据编号:<code>B-20260623-3317</code></p>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>编号</th>
|
||||||
|
<th>电影名</th>
|
||||||
|
<th>导演</th>
|
||||||
|
<th>上映年份</th>
|
||||||
|
<th>评分</th>
|
||||||
|
<th>时长(分钟)</th>
|
||||||
|
<th>类型</th>
|
||||||
|
<th>主演数</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>1</td>
|
||||||
|
<td>三傻大闹宝莱坞</td>
|
||||||
|
<td>Frank Darabont</td>
|
||||||
|
<td>2012</td>
|
||||||
|
<td>8.6</td>
|
||||||
|
<td>176</td>
|
||||||
|
<td>爱情</td>
|
||||||
|
<td>4</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>2</td>
|
||||||
|
<td>泰坦尼克号</td>
|
||||||
|
<td>陈凯歌</td>
|
||||||
|
<td>2015</td>
|
||||||
|
<td>9.0</td>
|
||||||
|
<td>164</td>
|
||||||
|
<td>冒险</td>
|
||||||
|
<td>4</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>3</td>
|
||||||
|
<td>阿甘正传</td>
|
||||||
|
<td>Robert Zemeckis</td>
|
||||||
|
<td>2009</td>
|
||||||
|
<td>8.2</td>
|
||||||
|
<td>148</td>
|
||||||
|
<td>科幻</td>
|
||||||
|
<td>2</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>4</td>
|
||||||
|
<td>千与千寻</td>
|
||||||
|
<td>James Cameron</td>
|
||||||
|
<td>2010</td>
|
||||||
|
<td>6.6</td>
|
||||||
|
<td>107</td>
|
||||||
|
<td>动画</td>
|
||||||
|
<td>3</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>5</td>
|
||||||
|
<td>放牛班的春天</td>
|
||||||
|
<td>宫崎骏</td>
|
||||||
|
<td>1995</td>
|
||||||
|
<td>7.4</td>
|
||||||
|
<td>119</td>
|
||||||
|
<td>科幻</td>
|
||||||
|
<td>4</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>6</td>
|
||||||
|
<td>忠犬八公的故事</td>
|
||||||
|
<td>Christopher Nolan</td>
|
||||||
|
<td>2004</td>
|
||||||
|
<td>7.9</td>
|
||||||
|
<td>119</td>
|
||||||
|
<td>动画</td>
|
||||||
|
<td>2</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>7</td>
|
||||||
|
<td>肖申克的救赎</td>
|
||||||
|
<td>Lasse Hallström</td>
|
||||||
|
<td>2016</td>
|
||||||
|
<td>8.6</td>
|
||||||
|
<td>138</td>
|
||||||
|
<td>爱情</td>
|
||||||
|
<td>2</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>8</td>
|
||||||
|
<td>盗梦空间</td>
|
||||||
|
<td>Rajkumar Hirani</td>
|
||||||
|
<td>2020</td>
|
||||||
|
<td>6.8</td>
|
||||||
|
<td>120</td>
|
||||||
|
<td>冒险</td>
|
||||||
|
<td>3</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>9</td>
|
||||||
|
<td>霸王别姬</td>
|
||||||
|
<td>Christophe Barratier</td>
|
||||||
|
<td>2004</td>
|
||||||
|
<td>7.4</td>
|
||||||
|
<td>140</td>
|
||||||
|
<td>冒险</td>
|
||||||
|
<td>5</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>10</td>
|
||||||
|
<td>星际穿越</td>
|
||||||
|
<td>Christopher Nolan</td>
|
||||||
|
<td>1990</td>
|
||||||
|
<td>8.5</td>
|
||||||
|
<td>116</td>
|
||||||
|
<td>悬疑</td>
|
||||||
|
<td>4</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
4
movies.json
Normal file
4
movies.json
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"data_id": "unknown",
|
||||||
|
"movies": []
|
||||||
|
}
|
||||||
44
q1.py
Normal file
44
q1.py
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
import requests
|
||||||
|
import json
|
||||||
|
from bs4 import BeautifulSoup
|
||||||
|
|
||||||
|
headers = {
|
||||||
|
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
|
||||||
|
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
|
||||||
|
"Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
|
||||||
|
"Referer": "https://exam.detr.top/"
|
||||||
|
}
|
||||||
|
|
||||||
|
url = "https://exam.detr.top/exam-b/movies"
|
||||||
|
response = requests.get(url, headers=headers)
|
||||||
|
response.encoding = "utf-8"
|
||||||
|
|
||||||
|
with open("movies.html", "w", encoding="utf-8") as f:
|
||||||
|
f.write(response.text)
|
||||||
|
|
||||||
|
soup = BeautifulSoup(response.text, "html.parser")
|
||||||
|
data_id = soup.find("div", {"class": "data-id"}).text.strip() if soup.find("div", {"class": "data-id"}) else "unknown"
|
||||||
|
|
||||||
|
movies = []
|
||||||
|
movie_items = soup.find_all("div", {"class": "movie-item"})
|
||||||
|
for item in movie_items[:10]:
|
||||||
|
movie = {
|
||||||
|
"id": item.find("span", {"class": "movie-id"}).text.strip(),
|
||||||
|
"title": item.find("h3", {"class": "movie-title"}).text.strip(),
|
||||||
|
"director": item.find("p", {"class": "movie-director"}).text.strip().replace("导演:", ""),
|
||||||
|
"year": int(item.find("p", {"class": "movie-year"}).text.strip().replace("上映年份:", "")),
|
||||||
|
"rating": float(item.find("span", {"class": "movie-rating"}).text.strip()),
|
||||||
|
"duration": int(item.find("p", {"class": "movie-duration"}).text.strip().replace("时长:", "").replace("分钟", "")),
|
||||||
|
"genre": item.find("p", {"class": "movie-genre"}).text.strip().replace("类型:", ""),
|
||||||
|
"actors_count": int(item.find("p", {"class": "movie-actors"}).text.strip().replace("演员数量:", ""))
|
||||||
|
}
|
||||||
|
movies.append(movie)
|
||||||
|
|
||||||
|
final_data = {
|
||||||
|
"data_id": data_id,
|
||||||
|
"movies": movies
|
||||||
|
}
|
||||||
|
with open("movies.json", "w", encoding="utf-8") as f:
|
||||||
|
json.dump(final_data, f, ensure_ascii=False, indent=4)
|
||||||
|
|
||||||
|
print("爬取完成,已生成movies.json和movies.html")
|
||||||
7
reviews.json
Normal file
7
reviews.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
[
|
||||||
|
{"id": 1, "text": "外卖小哥送得超快,餐盒还是热的,炸鸡酥脆多汁,酸辣粉也很正宗,分量足,五星好评!"},
|
||||||
|
{"id": 2, "text": "等了一个半小时才送到,汤全洒了,面坨成一坨,联系客服也不回,太让人失望了。"},
|
||||||
|
{"id": 3, "text": "奶茶是用料很扎实的现煮茶,珍珠Q弹有嚼劲,配送员态度也好,下次还会再点。"},
|
||||||
|
{"id": 4, "text": "配送速度一般,但披萨味道不错,芝士拉丝效果好,性价比高,值得推荐。"},
|
||||||
|
{"id": 5, "text": "点的麻辣烫食材不新鲜,有股怪味,吃完拉肚子,商家推卸责任,再也不点了。"}
|
||||||
|
]
|
||||||
Reference in New Issue
Block a user