pretty code

2019年2月20日 星期三

Amazon.cn 購買書籍整理

由於 Amazon.cn 的書籍實在是太便宜了
故後來只在信用卡帳單來的時候彙整一筆記帳

這樣的壞處就是容易產生不平帳

本想直接從 Amazon 下載相關訂單比對
但 Amazon 並沒有匯出的功能
只好使用 Python 來 parsing 網頁原始檔

程式只是簡單使用 regex 來 parsing
並沒有使用任何網頁 module
也沒有處理自動登入等功能

還是老話一句,程式夠用就好XD

import html
import re
import sys

def ncr_to_unicode(text):
    words = text.split(';')
    res = ''
    for word in words:
        i = word.find('&#')
        if i == -1:
            word_uni = word
        else:
            s = ''
            if i != 0:
                s = word[:i]
            word_uni = s +  '\\u' + word[i+3:]
        res += word_uni.encode('utf-8').decode('unicode_escape')
    return html.unescape(res)

def main():
    if len(sys.argv) != 2:
        print('amazon.py xxx.html')
        return

    file = sys.argv[1]

    p1 = '<span class="a-color-secondary value">\n +.* (?P<PRICE>.*)\n'
    p2 = '<a class="a-link-normal" href="\/gp\/product\/.*>\n +(?P<NAME>[a-zA-Z0-9&]+.*)\n'

    f = open(file, 'r', encoding='utf-8')
    data = f.read()
    f.close()

    prog = re.compile(p2)
    names = prog.findall(data)

    prog = re.compile(p1)
    others = prog.findall(data)

    out = open('book.txt', 'a', encoding='utf-16')

    for x in range(len(names)):
        bookName = ncr_to_unicode(names[x])
        buyDate = others[3*x + 0]
        price = others[3*x + 1]

        s = '%s\t%s\t%s' % (buyDate, price, bookName)

        print(s)
        out.write(s)
        out.write('\r\n')

    out.close()

if __name__ == "__main__":
    main()


購買時匯率介於 4.32 ~ 4.60
2019年1月29日 9.99 程序员的数学思维修炼(趣味解读)
2019年1月16日 14.99 面向机器智能的TensorFlow实践 (智能系统与技术丛书)
2018年12月28日 12.99 小岛经济学:鱼、美元和经济的故事
2018年12月27日 0.10 桂林古本傷寒雜病論 (Traditional_chinese Edition)
2018年12月19日 24.99 函数式编程思维 (图灵程序设计丛书)
2018年12月19日 47.99 古龙经典72册(读客熊猫君出品。)(读客知识小说文库)
2018年12月19日 17.99 东野圭吾:解忧杂货店
2018年12月19日 9.99 东野圭吾:新参者 (东野圭吾作品)
2018年12月19日 7.99 火星救援(2016雨果奖影视作品奖、最佳新人作家奖获奖作品!!)
2018年12月12日 15.40 扶阳讲记 (卢火神医集系列)
2018年12月11日 31.59 囚徒健身: 用失传的技艺练就强大的生存实力
2018年12月1日 2.99 梦幻花 (东野圭吾最新悬疑小说)
2018年12月1日 13.56 自控力
2018年11月29日 9.35 圆运动的古中医学 (中医名家绝学真传丛书)
2018年11月29日 7.79 四圣心源 (黄元御医书精华)
2018年11月29日 35.40 海龟交易法则(揭秘普通人如何成为伟大的交易员)
2018年11月27日 31.85 C和指针(异步图书) (C和C++经典著作)
2018年11月24日 14.96 李经梧太极内功及所藏秘谱
2018年11月24日 14.60 睡眠革命 (未读·生活家)
2018年11月23日 11.44 走近中医:对生命和疾病的全新探索
2018年11月23日 5.99 思考中医:对自然与生命的时间解读
2018年11月23日 7.91 初中数学思维方法全解与精练 (新课标·全解与精练系列)
2018年11月23日 15.60 小言《黄帝内经》与生命科学
2018年11月22日 24.01 JavaScript语言精粹(修订版)
2018年11月22日 7.91 湖畔(继白夜行后又一力作,对当代社会与家庭严厉的拷问)

沒有留言: