基于Python+django影片数据爬取与数据分析设计与实现
import requests
from bs4 import BeautifulSoup
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', user='your_username', password='your_password', db='your_database', charset='utf8')
cursor = conn.cursor()
# 影片信息爬取函数
def crawl_movie_info(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
movie_info = soup.find('div', class_='info').text.strip().split('\n')
movie_info = [info.strip() for info in movie_info if info.strip()]
return movie_info
# Django模型调用函数示例
def crawl_and_save_movie_data(movie):
movie_info = crawl_movie_info(movie.detail_url)
movie.rating_num = movie_info[1]
movie.quote = movie_info[-1]
movie.save()
# Django模型调用示例
movies = Movie.objects.all()
for movie in movies:
crawl_and_save_movie_data(movie)
# 关闭数据库连接
cursor.close()
conn.close()
这个代码实例展示了如何在Django框架内部调用一个使用BeautifulSoup进行网页解析的函数来爬取电影信息,并更新Django模型中的数据。这里假设你已经有了一个Django模型Movie
,它有rating_num
和quote
等字段,以及一个表示电影详情页URL的detail_url
字段。这个例子演示了如何使用爬虫函数来处理这些数据,并将其保存回Django模型。
评论已关闭