从https://ssr1.scrape.center网站上分别爬取10个页面的网页源代码,使用正则表达式提取共100部电影的电影名称,类型,制作产地,播放时长,发布日期及评分的数据,保存到. csv 文件中。
时间: 2024-06-09 17:07:52 浏览: 231
好的,我可以给你一个简单的 Python 爬虫代码来实现这个任务。你需要先安装 requests 和 BeautifulSoup 库。
```python
import csv
import re
import requests
from bs4 import BeautifulSoup
# 定义正则表达式
name_pattern = re.compile(r'<h2>(.*?)</h2>', re.S)
info_pattern = re.compile(r'<li class="channel-detail-orange">(.*?)</li>', re.S)
score_pattern = re.compile(r'<span class="channel-score">(.*?)</span>', re.S)
# 定义函数,用于提取数据
def extract_data(html):
soup = BeautifulSoup(html, 'lxml')
movie_list = soup.find_all('div', class_='channel-detail movie-item-title')
data_list = []
for movie in movie_list:
# 提取名称
name = name_pattern.search(str(movie)).group(1)
# 提取信息
info = info_pattern.findall(str(movie))
# 提取评分
score = score_pattern.search(str(movie)).group(1)
# 整合数据
data = [name] + info + [score]
data_list.append(data)
return data_list
# 爬取网页并提取数据
data_list = []
for page in range(1, 11):
url = f'https://ssr1.scrape.center/page/{page}'
response = requests.get(url)
if response.status_code == 200:
html = response.text
data_list += extract_data(html)
# 保存数据到 CSV 文件
with open('movies.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['名称', '类型', '制作产地', '播放时长', '发布日期', '评分'])
writer.writerows(data_list)
print('数据已保存到 movies.csv 文件中。')
```
这个代码会爬取 https://ssr1.scrape.center 网站上的前 10 页,提取电影名称、类型、制作产地、播放时长、发布日期和评分,最后将这些数据保存到一个名为 movies.csv 的 CSV 文件中。
阅读全文