pandas模块的read_html()函数,从网页中识别<table>读取表格类数据。避免了写xpath等表达式的麻烦,可把筛选得到的表格数据通过to_csv或to_Excel直接存为CSV文件或Excel文件。
注意:read_html()返回一个DataFrame类型的列表,每一项代表网页中的一个<table>,可用切片方式指定提取第几个表格。
指定识别的对象,可为网址、本地HTML、request得到的响应的文本内容。
传入正则表达式,返回符合match的内容,可理解为内容的筛选。
可省。指定网页源代码的解析器,常用的lxml解析器(也是默认解析器)。
可省。指定一行或多行作为表格的列标签,默认None。若把多行作为列标签,则需要以列表形式给出,如:把0~2行作为行列标签,则列序号从第4行即序号3的行开始排列。
可省。指定表格中的任一列作为行标签,默认None。
可省。指定解码的字符集,默认用网页源码指定的字符集。
import pandas as pda # 从网站的第一个表格中筛选出带有"高匿名"的项 # 指定用第0列作为行标签,第1和2行作为列标签,用UTF-8解码 data = pd.read_html('http://www.kuaidaili.com/free/', match='高匿名', index_col=0, header=[0,1], encoding='UTF-8')[0] # 数据存为CSV文件 data.to_csv('高匿名代理ip.csv')