CMB Credit Card Issue.
StephenLeeUSTC opened this issue · 7 comments
StephenLeeUSTC commented
在我使用的过程中,碰到eml账单文件无法解析的问题,原因是在我的文件中,分隔符有区别。解决问题的方式是:
# balance = d.select('#fixBand16')[0].text.replace('RMB', '').strip()
- date_range = d.select('#fixBand38 div font')[0].text.strip()
+ date_range = d.select('#fixBand6 div font')[0].text.strip()
transaction_date = dateparser.parse(date_range.split('-')[1].split('(')[0])
transaction_date = date(transaction_date.year, transaction_date.month, transaction_date.day)
self.date = transaction_date
- balance = '-' + d.select('#fixBand40 div font')[0].text.replace('¥', '').replace(',', '').strip()
+ balance = '-' + d.select('#fixBand7 div font')[0].text.replace('¥', '').replace(',', '').strip()
如果这个分隔符有可能改变,建议增加一下注释说明?如果有建议的修改但又缺少时间,我也可以帮助提交pr。Thanks
zsxsoft commented
由于我现在没有招商银行的卡了,因此无从确认这个fixBand的改动到底是哪儿的问题。我应当在README里注明一下,提醒大家关注Issue修改自己的脚本。
Heisenberg commented
编程小白想咨询个问题,我用的这个select语句没法使用超过3层,比如:
bands = d.select("#fixBand29 #loopBand2>table>tbody>tr") #这个就不行
bands = d.select("#loopBand2 table tr") #这个就可以
想咨询下,这个问题该怎么解决的?
zsxsoft commented
@Heisenberg 这是CSS选择器,你的#fixBand29 #loopBand2>table>tbody>tr
会选择
<div id="fixBand29">balabalabala<div id="loopBand2"><table><tbody><tr>select this</tr></tbody></table></div></div>
你需要自己对照页面的HTML检查选择是否正确
wych42 commented
看起来是招行的账单里时间只包含「月日」,没有带分隔符的年月日了。
招商银行「个人网银专业版」是个比较好的选择。可以下载csv格式的信用卡、借记卡的对账单
thelittlefox commented
@wych42
找到了,路径为
招行专业版---信用卡---账户管理---自助对账
可以按月查询一年内的信用卡消费-收入明细
可以按卡号后四位区分哪张信用卡进行的消费
可以下载为CSV文件
darouwan commented
今天在使用, 也是无法解析, 可能招行又改格式了~还是下csv吧
bingzhangdai commented
@thelittlefox 只能找到按信用卡账单日查询,并且下载也只能pdf,并没有找到下载csv的入口