如何使用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,我们提供了丰富的教程和工具,帮助你更好地掌握这项技术,并将其应用到实际项目中。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线