Python基于pandas爬取网页表格数据


Posted in Python onMay 11, 2020

以网页表格为例:https://www.kuaidaili.com/free/

该网站数据存在table标签,直接用requests,需要结合bs4解析正则/xpath/lxml等,没有几行代码是搞不定的。

今天介绍的黑科技是pandas自带爬虫功能,pd.read_html(),只需传人url,一行代码搞定。

原网页结构如下:

Python基于pandas爬取网页表格数据

python代码如下:

import pandas as pd
url='http://www.kuaidaili.com/free/'
df=pd.read_html(url)[0] 
# [0]:表示第一个table,多个table需要指定,如果不指定默认第一个
# 如果没有【0】,输入dataframe格式组成的list
df

输出dataframe格式数据

Python基于pandas爬取网页表格数据

Python基于pandas爬取网页表格数据

再次保存到本地,csv格式,注意中文编码:utf_8_sig

print(type(df))df.to_csv('free ip.csv',mode='a', encoding='utf_8_sig', header=1, index=0)print('done!')

查看csv文件

Python基于pandas爬取网页表格数据

先来了解一下read_html函数的api:

pandas.read_html(io, match='.+', flavor=None, header=None, index_col=None, skiprows=None, attrs=None, parse_dates=False, tupleize_cols=None, thousands=', ', encoding=None, decimal='.', converters=None, na_values=None, keep_default_na=True, displayed_only=True)

常用的参数:

  • io:可以是url、html文本、本地文件等;
  • flavor:解析器;
  • header:标题行;
  • skiprows:跳过的行;
  • attrs:属性,比如 attrs = {'id': 'table'};
  • parse_dates:解析日期

注意:返回的结果是**DataFrame**组成的**list**。

若要dataframe,直接取list【0】

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用MD5加密字符串示例
Aug 22 Python
全面解析Python的While循环语句的使用方法
Oct 13 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
Jul 02 Python
django轻松使用富文本编辑器CKEditor的方法
Mar 30 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
Apr 21 Python
python如何实现一个刷网页小程序
Nov 27 Python
djang常用查询SQL语句的使用代码
Feb 15 Python
我用Python抓取了7000 多本电子书案例详解
Mar 25 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
Jun 04 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
Jul 13 Python
Python3如何实现Win10桌面自动切换
Aug 11 Python
pytorch 如何把图像数据集进行划分成train,test和val
May 31 Python
Python调用shell命令常用方法(4种)
May 11 #Python
python中sort sorted reverse reversed函数的区别说明
May 11 #Python
python的reverse函数翻转结果为None的问题
May 11 #Python
Pyecharts地图显示不完成问题解决方案
May 11 #Python
将python字符串转化成长表达式的函数eval实例
May 11 #Python
python函数中将变量名转换成字符串实例
May 11 #Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
May 11 #Python
You might like
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
SONY ICF-SW7600的电路分析
2021/03/02 无线电
coreseek 搜索英文的问题详解
2013/06/08 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
瀑布流布局代码一例
2014/04/11 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
2014/05/29 Javascript
JQuery查找DOM节点的方法
2015/06/11 Javascript
JS给Textarea文本框添加行号的方法
2015/08/20 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
使用 stylelint检查CSS_StyleLint
2016/04/28 Javascript
深入理解MVC中的时间js格式化
2016/05/19 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
vue中rem的配置的方法示例
2018/08/30 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
python中的unittest框架实例详解
2021/02/05 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
在线课程:Skillshare
2019/04/02 全球购物
欢迎标语大全
2014/06/21 职场文书
家长会欢迎词
2015/01/23 职场文书
市场总监岗位职责
2015/02/11 职场文书
水电施工员岗位职责
2015/04/11 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
动画电影《龙珠超 超级英雄》延期上映
2022/03/20 日漫