前言:最近在公众号看到一篇文章说pandas也可以写爬虫,并且对与表格型的数据,非常友好强大,可以直接保存成dataframe格式,是不是很强大,下面我们来介绍一下他的用法,非常的简单。
试用情况:
这种
这样子的
如果查看一下网页的HTML结构(Chrome浏览器F12),会发现它们有个共同的特点,不仅是表格,还是以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>
使用方法:
使用pandas
中的read_html
就可以很方便的抓取网页中表格类型的数据。
read_html
:
io
: str or file-like
接收网址、文件、字符串。网址不接受https
,尝试去掉s后爬去header
: int or list-like or None
指定列标题所在的行parse_dates
:bool
解析日期
案例:
下面我们以一个真实的案例来讲述:爬取目标为http://www.dxsbb.com/news/16131.html
我们可以发现上面有一个table标签,而我们的目标爬虫只会针对网页中的table标签,也就是表格进行爬取。
实现:
import pandas as pd
df = pd.DataFrame()
url = 'http://www.dxsbb.com/news/16131.html'
df = pd.read_html(url)
df[0]
这个数据是不是看起来很舒服?如果有其他需要,也可以很方便的保存为csv等其他格式。
Ending!