使用Python实现的简单爬虫程序
发布时间:2023-12-04 14:33:24
Python是一种广泛用于爬虫开发的编程语言,它简洁易读、功能强大、拥有丰富的第三方库,能够轻松实现爬虫程序。下面是一个使用Python实现的简单爬虫程序,以爬取豆瓣电影Top250为例。
首先,我们需要导入需要的库和模块。在这个例子中,我们需要使用requests库来发送请求获取网页内容,使用BeautifulSoup库来解析网页内容,使用pandas库来处理和保存数据。
import requests from bs4 import BeautifulSoup import pandas as pd
接下来,定义一个函数get_movie_top250()来获取豆瓣电影Top250的数据。在这个函数中,我们首先定义一个空的DataFrame来保存电影数据,然后使用循环来遍历不同页数的网页,逐页爬取电影数据。
def get_movie_top250():
movie_data = pd.DataFrame(columns=['电影名称', '评分', '评价人数', '简介'])
for i in range(10):
url = f'https://movie.douban.com/top250?start={i * 25}'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')
movie_list = soup.find(class_='grid_view').find_all('li')
for movie in movie_list:
title = movie.find(class_='title').text.strip()
rating = movie.find(class_='rating_num').text.strip()
votes = movie.find(class_='star').find_all('span')[3].text.strip()
intro = movie.find(class_='inq').text.strip() if movie.find(class_='inq') else ''
movie_data = movie_data.append({'电影名称': title, '评分': rating, '评价人数': votes, '简介': intro}, ignore_index=True)
return movie_data
最后,我们可以调用get_movie_top250()函数获取豆瓣电影Top250的数据,并将数据保存到本地文件。
if __name__ == '__main__':
movie_data = get_movie_top250()
movie_data.to_csv('movie_top250.csv', index=False)
运行程序后,会在当前目录下生成一个名为movie_top250.csv的CSV文件,里面包含了豆瓣电影Top250的电影名称、评分、评价人数和简介信息。
这个例子只是一个简单的爬虫程序,实际的爬虫项目可能涉及到更加复杂的页面解析、数据过滤和处理等问题,但基本的思路是类似的。使用Python编程语言和相关的库,可以方便地实现各种爬虫任务,从而获取所需的数据。
