isbn2title

#!/usr/bin/env python
#encoding=utf-8
"""
将isbn号转换成对应的书名
使用douban的api
"""
import sys
reload(sys)
import urllib2
import codecs
import time
def isbn2title(isbn):
    time.sleep(10)
    url="http://api.douban.com/book/subject/isbn/%s"
    url="http://api.douban.com/book/subject/isbn/%s?apikey=0fe3fbac986f9e342fabf305c94eda9c"
    #print isbn
    html=""
    try:
        html=urllib2.urlopen(url%isbn).read()
    except:
        pass
    #print html
    idx=html.find(r"<title>")
    if idx>-1:
       #print "idx>-1"
        _html=html[idx+len("<title>"):]
        idx=_html.find(r"</title>")
        if idx>-1:
            __html=_html[:idx]
            return __html
        else:
            return _html
    else:
        return html

    

if __name__=="__main__":
    #print isbn2title("9787533830281")
    #exit(0)
    for line in sys.stdin.readlines():
        if line is None or line.strip()=="":continue
    #for line in codecs.open("1.txt","r","utf-8").readlines():
        isbn=line.strip()
        print isbn,isbn2title(isbn)
        sys.stdout.flush()

原文地址:https://www.cnblogs.com/lexus/p/2908682.html