基于python爬虫数据处理(详解)

基于Python爬虫数据处理

本攻略介绍如何使用Python爬虫来获取数据,并使用Python进行数据处理和分析。

一、爬虫数据获取

Python中有很多爬虫库可供选择,本攻略使用的是requestsBeautifulSoup库。requests用于获取网页源代码,而BeautifulSoup则用于解析源代码,提取需要的数据。

以下是一个简单的示例代码,获取豆瓣电影排行榜前250的电影名称、评分和链接:

import requests
from bs4 import BeautifulSoup

url = 'https://movie.douban.com/top250'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

movies = []

for item in soup.select('.item'):
    title = item.select_one('.title').text.strip()
    rating = item.select_one('.rating_num').text.strip()
    href = item.select_one('.hd a')['href']
    movies.append({'title': title, 'rating': rating, 'href': href})

print(movies)

以上代码中,先使用requests发起请求获取网页源代码,然后使用BeautifulSoup对源代码进行解析,提取出前250部电影的名称、评分和链接。最后将获取到的电影信息以字典形式存入列表中,并打印输出。

二、数据处理

完成了数据的获取,接下来就是如何对数据进行处理和分析。Python中有很多数据处理库可供选择,本攻略使用的是pandas库。pandas是一个高效、强大、灵活的数据分析工具,可以使数据的清洗、处理和分析变得简单而快速。

以下是一个简单的示例代码,读取电影信息的列表数据,然后使用pandas进行数据清洗和分析:

import pandas as pd

df = pd.DataFrame(movies)
df['rating'] = df['rating'].astype(float)

# 计算电影评分的平均值、中位数、最大值、最小值
mean_rating = df['rating'].mean()
median_rating = df['rating'].median()
max_rating = df['rating'].max()
min_rating = df['rating'].min()

# 根据评分排序,获取评分前20的电影的名称和评分
top_movies = df.sort_values(by='rating', ascending=False).head(20)
top_movies = top_movies[['title', 'rating']]
print(top_movies)

以上代码中,先将电影信息的列表数据转换为DataFrame对象,然后将rating列的数据类型转换为浮点数类型。接下来,使用pandas的一些函数求出电影评分的平均值、中位数、最大值、最小值,并按照评分排序,获取评分前20的电影的名称和评分。

三、示例说明

以下是另外两个示例,分别是获取今日头条的新闻分类、标题和链接,以及统计豆瓣电影排行榜前250的电影的各个评分分别占比:

1. 获取今日头条的新闻分类、标题和链接

url = 'https://www.toutiao.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

news = []

for item in soup.select('.feed-tab-item'):
    category = item.select_one('.title').text.strip()
    title = item.select_one('.title-box .link').text.strip()
    href = item.select_one('.title-box .link')['href']
    news.append({'category': category, 'title': title, 'href': href})

print(news)

以上代码中,先使用requests发起请求获取今日头条的网页源代码,然后使用BeautifulSoup对源代码进行解析,提取出新闻分类、标题和链接。最后将获取到的新闻信息以字典形式存入列表中,并打印输出。

2. 统计豆瓣电影排行榜前250的电影的各个评分分别占比

import matplotlib.pyplot as plt

df = pd.DataFrame(movies)
df['rating'] = df['rating'].astype(float)

# 统计评分的分布情况
bins = [x/10 for x in range(1, 11)]
counts = df.groupby(pd.cut(df['rating'], bins)).size()
counts = counts/counts.sum()*100

# 绘制评分分布的饼图
plt.pie(counts, labels=counts.index.map(lambda x: '{}-{}'.format(x.left, x.right)), autopct='%.2f%%')
plt.show()

以上代码中,先将获取到的电影信息的列表数据转换为DataFrame对象,并将rating列的数据类型转换为浮点数类型。接下来,使用pandasgroupby函数按照评分区间进行分组,统计各个评分区间的电影数量,并计算各个评分区间的电影数量占总数的比例。最后,使用matplotlib绘制评分分布的饼图。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于python爬虫数据处理(详解) - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 爬虫初始

    1.1 什么是爬虫? 就是通过编写程序模拟浏览器上网,让其去互联网中抓取数据的过程。 1.2 爬虫分类? 1.通用爬虫:爬取一整张页面源码数据。 2.聚焦爬虫:爬取页面中局部的数据。一定是在通用爬虫的基础上实现。 3.增量式爬虫:用来监测网站数据更新的情况。以便于爬取最新更新出来的数据! 1.3 爬虫合法性探究 爬虫的风险体现 1.爬虫干扰了被访问网站的正常…

    爬虫 2023年4月13日
    00
  • NodeJs编写小爬虫

    一,爬虫及Robots协议 爬虫,是一种自动获取网页内容的程序。是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫而做出的优化。 robots.txt是一个文本文件,robots是一个协议,而不是一个命令。robots.txt是爬虫要查看的第一个文件。robots.txt文件告诉爬虫在服务器上什么文件是可以被查看的,搜索机器人就会按照该文件中的…

    爬虫 2023年4月13日
    00
  • Python读取Word(.docx)正文信息的方法

    本攻略将介绍如何使用Python读取Word(.docx)正文信息。我们将使用Python的python-docx库读取Word文档,并使用正则表达式处理文本数据。 安装python-docx库 我们可以使用pip命令安装python-docx库。以下是一个示例代码,用于安装python-docx库: pip install python-docx 在上面的…

    python 2023年5月15日
    00
  • python—sys模块之获取参数的操作

    Python sys模块之获取参数的操作 在Python中,我们可以使用sys模块来获取命令行参数,并且对这些参数进行一些简单的处理,以实现我们的应用程序的特定功能。 sys模块基础 在使用sys模块时,我们需要首先导入它,常规的导入方法为: import sys 然后,我们就可以使用sys模块中的一些函数和变量。 以下是一些常用的sys模块函数和变量: s…

    python 2023年6月2日
    00
  • 实现 Python 脚本生成命令行

    要实现 Python 脚本生成命令行,可以使用 argparse 模块。argparse 可以帮助我们定义命令行参数,并且它可以自动生成帮助和使用文档。 以下是实现 Python 脚本生成命令行的完整攻略: 第一步:导入 argparse 首先需要导入 argparse 模块。 import argparse 第二步:定义参数 接下来,需要定义脚本需要的命令…

    python 2023年6月3日
    00
  • 三十三 Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection)

      Scrapy提供了方便的收集数据的机制。数据以key/value方式存储,值大多是计数值。 该机制叫做数据收集器(Stats Collector),可以通过 Crawler API 的属性 stats 来使用无论数据收集(stats collection)开启或者关闭,数据收集器永远都是可用的。 因此您可以import进自己的模块并使用其API(增加值或…

    爬虫 2023年4月13日
    00
  • pyqt5、qtdesigner安装和环境设置教程

    下面是PyQt5和Qt Designer的安装和环境设置教程的完整攻略。 安装PyQt5 前置条件 在安装PyQt5之前,您需要先安装Python3,可以从官方网站下载安装包进行安装。 安装步骤 执行以下命令,在终端中安装PyQt5: pip install PyQt5 如果您没有安装pip,请执行以下命令安装: python -m ensurepip –…

    python 2023年5月23日
    00
  • Python使用xlrd实现读取合并单元格

    下面是Python使用xlrd实现读取合并单元格的完整实例教程: 一、xlrd介绍 xlrd是Python的一个库,主要用于读取Excel文件,可以读取Excel的所有数据,包括单元格格式、公式等。官方文档地址:https://xlrd.readthedocs.io/en/latest/ 二、读取合并单元格 1. 安装xlrd库 使用pip安装命令安装xlr…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部