diff --git a/2026.4.2.py b/2026.4.2.py new file mode 100644 index 0000000..5138f3c --- /dev/null +++ b/2026.4.2.py @@ -0,0 +1,52 @@ +import requests +import re + +url = 'https://www.douban.com/doulist/3936288/' +headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'} +response = requests.get(url, headers=headers) +html = response.text + +title_pattern = r'([^<]+)' +titles = re.findall(title_pattern, html) + +movies = [] +for i in range(min(10, len(titles))): + title = titles[i] if not titles[i].startswith('/') else '' + en_title = titles[i+1] if i+1 < len(titles) and titles[i+1].startswith('/') else '' + en_title = en_title.replace('/ ', '') if en_title else '' + + movie = { + 'rank': i + 1, + 'title': title, + 'en_title': en_title, + 'rating': ratings[i] if i < len(ratings) else '' + } + movies.append(movie) + +with open('movies.csv', 'w', encoding='utf-8', newline='') as f: + writer = csv.DictWriter(f, fieldnames=['rank', 'title', 'en_title', 'rating']) + writer.writeheader() + writer.writerows(movies) + +print('已保存到 movies.csv') + +with open('movies.csv', 'r', encoding='utf-8') as f: + for line in f: + print(line.strip()) + +chinese_titles = [t for t in titles if not t.startswith('/')] + +print('电影名称(前10部):') +for i, title in enumerate(chinese_titles[:10], 1): + print(f'{i}. {title}') + +rating_pattern = r']*>(\d+\.\d)' +ratings = re.findall(rating_pattern, html) + +print('评分(前10部):') +for i, rating in enumerate(ratings[:10], 1): + print(f'{i}. 评分: {rating}') + + +