爬取猫眼电影Top100电影单页数据,用xpath解析出电影名称、主演、上映时间、评分、图片地址等信息。最后存储数据到MySQL数据库中
时间: 2024-09-19 07:09:18 浏览: 92
用爬虫爬取豆瓣电影TOP250,并用PythonTkinter实现GUI展示与电影信息检索
5星 · 资源好评率100%
首先,你需要安装Python的一些库,如requests用于发送HTTP请求获取网页内容,BeautifulSoup或lxml用于解析HTML文档,以及pymysql连接MySQL数据库。
以下是一个简单的步骤概述:
1. **获取网页内容**:
使用`requests.get('https://movie.douban.com/top250')`这样的URL,获取猫眼电影Top100的页面源代码。
2. **解析HTML**:
解析HTML,找到包含电影信息的XPath表达式。例如,电影名称可能是`//div[@class='item']//h2/a/text()`,主演、上映时间和评分的XPath可能会有所不同。确保查看实际HTML结构确定准确的路径。
```python
import requests
from bs4 import BeautifulSoup
# 获取响应并解析HTML
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
```
3. **提取信息**:
使用BeautifulSoup的`.find_all()`或`.select_one()`方法找到每个元素,并使用`.text`属性获取文本信息。同时,注意图片地址通常会在`src`属性中,如`//img/@src`。
4. **存储到数据库**:
安装`pymysql`库,然后创建一个连接,并设置SQL查询来插入数据到表中。假设你有一个名为movies的表,有name、actors、release_date、rating和image_url字段。
```python
import pymysql
# 创建数据库连接
db = pymysql.connect(host='your_host', user='your_user', password='your_password', db='your_db')
# 创建游标
cursor = db.cursor()
# 构造插入数据的SQL语句
sql = "INSERT INTO movies (name, actors, release_date, rating, image_url) VALUES (%s, %s, %s, %s, %s)"
# 提取的数据替换占位符
data = ('Movie Name', 'Actor 1, Actor 2', '2023-01-01', '9.0', 'http://img_url')
# 执行插入操作
cursor.execute(sql, data)
# 提交事务
db.commit()
# 关闭游标和连接
cursor.close()
db.close()
```
记得替换数据库连接参数,并根据实际的HTML结构调整XPath选择器。
阅读全文