爬虫:爬取新闻内容及图片,存入数据库
以下是一个简化的Python爬虫代码示例,用于爬取新闻内容及图片,并将其存储到数据库中。这里使用了requests、BeautifulSoup和pymysql库。
import requests
from bs4 import BeautifulSoup
import pymysql
# 目标网页
url = "http://example.com/news"
# 发起GET请求
response = requests.get(url)
# 解析网页
soup = BeautifulSoup(response.text, 'html.parser')
# 提取新闻内容
content = soup.find('div', class_='news-content').get_text()
# 提取图片链接
image_url = soup.find('div', class_='news-image').find('img')['src']
response_image = requests.get(image_url)
# 保存图片到本地(这里只是示例,实际可能需要将图片存入数据库的BLOB字段)
with open('image.jpg', 'wb') as f:
f.write(response_image.content)
# 连接数据库
connection = pymysql.connect(host='localhost', user='user', password='password', db='database', charset='utf8mb4')
try:
# 使用数据库游标
with connection.cursor() as cursor:
# 执行SQL插入语句
sql = "INSERT INTO news (content, image) VALUES (%s, %s)"
cursor.execute(sql, (content, response_image.content))
# 提交事务
connection.commit()
finally:
connection.close()
请注意,这个代码示例假设你已经有了一个数据库和相应的表结构。表中应包含存储新闻内容的字段(如content
)和存储图片的字段(如image
,可以是BLOB类型)。
实际应用中,你需要根据目标网站的具体结构调整数据提取和数据库操作的代码。
评论已关闭