如何使用python爬虫爬虫将数据保存至表格中?
优采云 发布时间: 2023-04-09 15:23在当今信息爆炸的时代,获取数据是一件非常简单的事情。但是,如何处理这些数据并将其转化为有用的信息呢?这就需要用到python爬虫技术。本文将介绍如何使用python爬虫将数据保存至表格中,并进行排序。
一、准备工作
首先,我们需要安装python的pandas库和beautifulsoup4库。其中pandas库是用于数据处理和分析的常用库,而beautifulsoup4库则是用于网页解析。
python
#安装pandas库
pip install pandas
#安装beautifulsoup4库
pip install beautifulsoup4
二、获取数据
在本文中,我们以豆瓣电影Top250为例进行演示。我们可以通过以下代码获取豆瓣电影Top250的页面内容:
python
import requests
from bs4 import BeautifulSoup
url ='https://movie.douban.com/top250'
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'}
response = requests.get(url, headers=headers)
html = response.text
三、解析数据
接下来,我们需要使用beautifulsoup4库对页面内容进行解析,并提取出需要的数据。在本例中,我们需要提取出电影的名称、评分和评价人数。
python
soup = BeautifulSoup(html,'html.parser')
movies_list = soup.find('ol', class_='grid_view').find_all('li')
data =[]
for movie in movies_list:
title = movie.find('div', class_='hd').find('span', class_='title').text
rating_num = movie.find('div', class_='star').find('span', class_='rating_num').text
rating_people = movie.find('div', class_='star').find_all('span')[3].text[:-3]
data.append([title, rating_num, rating_people])
四、保存数据至表格
我们可以使用pandas库将数据保存至表格中。在本例中,我们将数据保存至csv文件中。
python
import pandas as pd
df = pd.DataFrame(data=data, columns=['电影名称','评分','评价人数'])
df.to_csv('douban_top250.csv', index=False)
五、排序
现在,我们已经将数据保存至表格中了。接下来,我们可以使用pandas库对数据进行排序。在本例中,我们以电影的评分为标准进行排序。
python
df_sorted = df.sort_values(by='评分', ascending=False)
六、完整代码
下面是完整的代码:
python
import requests
from bs4 import BeautifulSoup
import pandas as pd
url ='https://movie.douban.com/top250'
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'}
response = requests.get(url, headers=headers)
html = response.text
soup = BeautifulSoup(html,'html.parser')
movies_list = soup.find('ol', class_='grid_view').find_all('li')
data =[]
for movie in movies_list:
title = movie.find('div', class_='hd').find('span', class_='title').text
rating_num = movie.find('div', class_='star').find('span', class_='rating_num').text
rating_people = movie.find('div', class_='star').find_all('span')[3].text[:-3]
data.append([title, rating_num, rating_people])
df = pd.DataFrame(data=data, columns=['电影名称','评分','评价人数'])
df.to_csv('douban_top250.csv', index=False)
df_sorted = df.sort_values(by='评分', ascending=False)
七、总结
本文介绍了如何使用python爬虫将数据保存至表格中,并进行排序。我们可以将这种方法应用到各种数据获取和处理的场景中,例如*敏*感*词*、天气数据等等。
最后,如果你想要更深入的学习python爬虫技术,可以关注优采云的官方网站www.ucaiyun.com,我们提供了丰富的教程和工具,帮助你更好地掌握这项技术,并将其应用到实际项目中。