Пример #1
0
def run():
    user_agents = ldUserAgents("./UserAgentString.json")
    bookinfos = loadMatrixFromFile("./kaijuannodump.csv")
    # bookinfos = loadMatrixFromFile(sys.argv[1])
    # newbookinfos = []
    sellers = ["亚马逊", "京东", "当当", "北发", "淘书", "博库", "文轩", "中国图书", "China-pub"]

    for index in range(1, len(bookinfos)):
        if isAready(bookinfos[index][0]):
            print "INFO: Already processed"
            continue

        print "INFO: processing", bookinfos[index][0],

        b = BookAPI(bookinfos[index][0], choice(user_agents))
        JsonData = json.loads(b.api())
        if JsonData["error"]:
            appendstr2file(JsonData["isbn"], "error.log")
            print "ERROR: got an network error "
            sleep(1)
            continue

        tmpLst = bookinfos[index]

        if JsonData["total"] == 0:
            for seller in sellers:
                tmpLst.append("None")
            print "WARNING: no data"
            sleep(1)
            continue

        for seller in sellers:
            tmpLst.append("None")
            for key in JsonData["data"]:
                if seller.decode("UTF-8") in key:
                    del tmpLst[-1]
                    tmpLst.append(JsonData["data"][key])
                    break
        # newbookinfos.append(tmpLst)
        appendlst2file(lstUtf8(tmpLst), "newkaijuan.csv")
        appendstr2file(bookinfos[index][0], "visited.csv")

        print "Done"
        sleep(1)
Пример #2
0
def book_api(isbn):
    user_agents = ldUserAgents('./UserAgentString.json')
    b = BookAPI(isbn, choice(user_agents))
    return jsonify(b.api())