标签:mat 属性 抓取 mod cell attrs 返回 汇率 taf
read_html返回一个DataFrame对象的列表(list).读取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 查看历史>>]
import pandas as pd
url = ‘http://fx.cmbchina.com/Hq/‘
tb = pd.read_html(url,match= ‘交易币‘)
print(tb)
输出和前面相同。
3.读取URL,匹配<table>标签包含某属性的表
<table cellpadding="0" cellspacing="1" width="740" align="center" class="data">
...</table>
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