首先,你需要在PyCharm中创建一个Flask项目。按照以下步骤进行操作:
- 打开PyCharm,点击"Create New Project"来创建一个新项目。
- 在弹出的对话框中,选择"Flask"作为项目类型,并为项目命名,然后点击"Create"按钮。
- 在下一个对话框中,选择"Flask"作为项目模板,并为应用程序设置名称。
- 在创建项目后,PyCharm将自动生成一个基本的Flask应用程序结构。
接下来,你可以按照以下步骤编写一个简单的电影爬虫项目:
-
在项目的根目录下创建一个名为
app.py
的Python文件。 -
导入Flask和其他需要的库:
from flask import Flask, render_template import requests from bs4 import BeautifulSoup
python
复制
python
复制
-
创建Flask应用程序实例:
app = Flask(__name__)
python
复制
python
复制
-
定义路由和视图函数:
@app.route('/') def index(): # 爬取电影数据 movie_data = scrape_movies() return render_template('index.html', movies=movie_data)
python
复制
python
复制
-
定义一个函数来爬取电影数据:
def scrape_movies(): # 发送HTTP请求,获取电影页面内容 url = 'http://example.com/movies' # 替换为实际的电影网站URL response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 解析页面获取电影数据 movies = [] movie_elements = soup.find_all('div', class_='movie') for movie_element in movie_elements: title = movie_element.find('h2').text rating = movie_element.find('span', class_='rating').text description = movie_element.find('p').text movie_data = { 'title': title, 'rating': rating, 'description': description } movies.append(movie_data) return movies
python
复制
python
复制
-
创建一个名为
index.html
的模板文件,用于渲染电影数据:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Movies</title> </head> <body> <h1>Movies</h1> <ul> {% for movie in movies %} <li> <h2>{{ movie.title }}</h2> <p>Rating: {{ movie.rating }}</p> <p>{{ movie.description }}</p> </li> {% endfor %} </ul> </body> </html>
html
复制
html
复制
-
运行Flask应用程序:
在PyCharm的终端中运行以下命令来启动应用程序:
flask run
复制
复制
应用程序将在本地主机上的默认端口上运行。在浏览器中访问
http://localhost:5000
,你应该能够看到爬取的电影数据的列表。