Pandas骚操作:用 pandas 快速爬数据


提起爬虫,大家可能都知道
requests
、beautifulsoup
、scrapy
、selenium
等等一些工具库。但其实对于一些日常的 网页Table表格数据抓取 来讲,没有必要去F12研究HTML页面结构甚至写正则表达式解析字段。本次东哥介绍一个超级简单的方法,用
pandas
也可以玩爬虫。
pandas
自带一个方法是read_html
,利用这个方法可以直接爬虫网页的 Table表格型数据 ,无需敲更多的爬虫代码,简单!粗暴!查看HTML结构,如果发现是下面这个table格式的,那直接可以上手开干。
<table class="..." id="...">
<thead> <tr> <th>...</th> </tr> </thead> <tbody> <tr> <td>...</td> </tr> <tr>...</tr> <tr>...</tr> ... <tr>...</tr> <tr>...</tr> </tbody></table>下面我们来看下如何操作。
一、使用方法
举一个例子,拿wiki百科上的各国家收入的页面抓取演示一下。
这个页面中有非常多的表格,符合我们的要求,直接使用
read_html
,它可以自动将网页的所有表格数据全部抓取下来。代码如下:import pandas as pd
url = 'https://en.wikipedia.org/wiki/Gross_national_income'tables = pd.read_html(url)这里返回的
tables
是一个DataFrames
的列表,每个DataFrame
就是网页中从上到下顺序的数据表格。因此,可以用列表的切片tables[x]
来提取网页指定的表格数据。比如,我们对第4个表格感兴趣,那么直接:
talbes[3]
当然,上面表格看起来有点别扭,我们可以简单几个操作调整一下表结构。
df = tables[3].droplevel(0, axis=1)
.rename(columns={'No.':'No', 'GDP[10]':'GDP'}).set_index('No')
这样看起来就好多了。
最后,
read_html
中也配有很多参数可供调整,比如匹配方式、标题所在行、网页属性识别表格等等,具体说明可以参看pandas
的官方文档学习。更多“pandas”相关内容
-
Pandas 概览
Pandas是Python的核心数据分析支持库,提供了快速、灵活、明确数据结构,旨在简单、直观地处理关系型、标记型数据。
-
pandas骚操作:再见,可视化!你好,pandas!
用Python做数据分析离不开pandas,pnadas更多的承载着处理和变换数据的角色。
-
告别痛苦,快乐学习Pandas!开源教程《Joyful-Pandas》发布
Pandas 是基于Numpy的一种工具,是为了解决数据分析任务而创建的,其纳入了大量库和一些标准的数据模型。
-
Pandas概论
由于Pandas的流行,它有自己的传统缩写,所以无论何时将Pandas导入python。
-
Pandas骚操作:用 pandas 快速爬数据
用 pandas 快速爬数据。
推荐阅读
IT研发▪2021年度十佳创作者