您的当前位置:首页正文

【Python】实战:爬取CSDN电影页面信息并解析(附源码)

来源:九壹网

步骤

安装库

你需要安装requestsbeautifulsoup4库。如果还没有安装,可以使用以下命令:

pip install requests beautifulsoup4 pandas

示例脚本

import requests
from bs4 import BeautifulSoup
import pandas as pd

# 假设的CSDN电影页面URL(这个URL需要根据实际情况替换)
url = 'https:///example/article/details/movie_page'

# 发送HTTP请求
response = requests.get(url)
response.raise_for_status()  # 检查请求是否成功

# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')

# 假设电影信息存储在一个表格中,我们可以提取表格内容
# 根据实际情况调整选择器
table = soup.find('table', {'class': 'movie-table'})  # 替换为实际的class或其他选择器

# 初始化一个空列表来存储电影信息
movies = []

# 遍历表格的行
for row in table.find_all('tr'):
    columns = row.find_all('td')
    if len(columns) == 5:  # 假设每行有5列:标题、导演、演员、评分、简介
        movie = {
            'title': columns[0].get_text(strip=True),
            'director': columns[1].get_text(strip=True),
            'actors': columns[2].get_text(strip=True),
            'rating': columns[3].get_text(strip=True),
            'summary': columns[4].get_text(strip=True)
        }
        movies.append(movie)

# (可选)将数据存储到Pandas DataFrame中
df = pd.DataFrame(movies)
print(df)

# 如果需要,可以将DataFrame保存为CSV文件
# df.to_csv('movies.csv', index=False)

注意事项

  1. 选择器:上面的脚本假设电影信息存储在一个表格中,并且使用了table标签和特定的class属性。你需要根据实际的HTML结构调整选择器。
  2. 反爬虫机制:一些网站有反爬虫机制,可能会阻止你的请求。在这种情况下,你可能需要添加请求头来模拟浏览器请求,或者使用像Selenium这样的库来模拟用户行为。
  3. 合法性:在爬取网站数据之前,请确保你遵守该网站的robots.txt文件和服务条款。
  4. 速率限制:为了不对目标服务器造成过大压力,通常建议在请求之间添加适当的延时。

一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top