利用pandas库中的read_html方法抓取网页中常见的表格型数据

2021-04-01 04:25

阅读:377

标签:mat   属性   抓取   mod   cell   attrs   返回   汇率   taf   

read_html返回一个DataFrame对象的列表(list).
  1. 读取URL中,第N个表格。需要分析html代码。

    import pandas as pd
    url = ‘http://fx.cmbchina.com/Hq/‘
    tb = pd.read_html(url,encoding=‘utf-8‘)[1]    #经观察发现所需表格是网页中第2个表格,故为[1]
    print(tb)

    输出如下:

    [        0      1    2       3       4       5       6         7       8
    0     交易币  交易币单位  基本币   现汇卖出价   现钞卖出价   现汇买入价   现钞买入价        时间   汇率走势图
    1      港币    100  人民币   91.50   91.50   91.14   90.50  20:32:16  查看历史>>
    2    新西兰元    100  人民币  417.97  417.97  414.63  401.52  20:32:16  查看历史>>
    3   澳大利亚元    100  人民币  426.07  426.07  422.67  409.30  20:32:16  查看历史>>
    4      美元    100  人民币  709.76  709.76  706.57  700.91  20:32:16  查看历史>>
    5      欧元    100  人民币  777.71  777.71  771.51  747.11  20:32:16  查看历史>>
    6    加拿大元    100  人民币  501.68  501.68  497.68  481.94  20:32:16  查看历史>>
    7      英镑    100  人民币  849.14  849.14  842.38  815.74  20:32:16  查看历史>>
    8      日元    100  人民币  6.4756  6.4756  6.4240  6.2208  20:32:16  查看历史>>
    9    新加坡元    100  人民币  494.28  494.28  490.34  474.83  20:32:16  查看历史>>
    10   瑞士法郎    100  人民币  731.75  731.75  725.91  702.96  20:32:16  查看历史>>]
  2. 读取URL,匹配一个包含特殊字符串的表
    import pandas as pd
    url = ‘http://fx.cmbchina.com/Hq/‘
    tb = pd.read_html(url,match= ‘交易币‘)
    print(tb)

    输出和前面相同。

3.读取URL,匹配

标签包含某属性的表
...
import pandas as pd
url = ‘http://fx.cmbchina.com/Hq/‘
tb = pd.read_html(url,attrs = {‘class‘: ‘data‘},encoding=‘utf-8‘)
print(tb)

4.查询结果,写入csv文件

import pandas as pd
import csv

url = ‘http://fx.cmbchina.com/Hq/‘
tb = pd.read_html(url,attrs = {‘class‘: ‘data‘},encoding=‘utf-8‘)
tb[0].to_csv(r‘1.csv‘, mode=‘a‘, encoding=‘utf-8‘, header=1, index=0)

利用pandas库中的read_html方法抓取网页中常见的表格型数据

标签:mat   属性   抓取   mod   cell   attrs   返回   汇率   taf   

原文地址:https://blog.51cto.com/whbill/2482241


评论


亲,登录后才可以留言!