1+ #!/usr/bin/env python
12# -*- coding:utf8 -*-
23"""
34读取game-programmer.dot将其转换为中文版的game-programmer-zh-cn.dot
45"""
5- import json
6- import re
7- import urllib2
6+ from __future__ import print_function
87import csv
8+ import json
99import os
10+ import re
11+ try :
12+ from urllib .request import urlopen # Python 3
13+ except ImportError :
14+ from urllib2 import urlopen # Python 2
15+
1016
1117IMAGE_PATH = './images-zh-cn/{book_index}.jpg'
1218
@@ -16,12 +22,12 @@ def get_image(isbn, image_filename):
1622 :rtype: str
1723 """
1824 print ("get_image(" + isbn + "," + isbn + ")" )
19- response = urllib2 . urlopen (book_url )
25+ response = urlopen (book_url )
2026 html = response .read ()
2127 re_image_url = r"https://img\d\.doubanio\.com/lpic/s\d*\.jpg"
2228 image_url = re .search (re_image_url , html ).group ()
2329 with open (image_filename , 'w' ) as ft :
24- response = urllib2 . urlopen (image_url )
30+ response = urlopen (image_url )
2531 image = response .read ()
2632 ft .write (image )
2733
@@ -30,12 +36,12 @@ def get_book_url_year(isbn):
3036 url = "https://api.douban.com/v2/book/isbn/" + isbn
3137 result = "https://book.douban.com/" , ""
3238 try :
33- response = urllib2 . urlopen (url )
39+ response = urlopen (url )
3440 detail = response .read ()
3541 return json .loads (detail )["alt" ], json .loads (detail )["pubdate" ][:4 ]
3642 except Exception as e :
37- print isbn
38- print e
43+ print ( isbn )
44+ print ( e )
3945 return result
4046
4147def get_book_info (book_index ):
@@ -161,25 +167,25 @@ def get_book_info(book_index):
161167 label_line_match = RE_LABEL_LINE .match (line_without_space )
162168 content_line_match = RE_CONTENT_LINE .match (line_without_space )
163169
164- if book_line_match != None :
170+ if book_line_match is not None :
165171 book_index = line_without_space .split (" " )[0 ]
166172 book_title , book_url , book_year = get_book_info (book_index .strip ('"' ))
167- if book_title == None :
173+ if book_title is None :
168174 zh_f .write (line )
169175 else :
170176 image_path = IMAGE_PATH .format (book_index = book_index .strip ('"' ))
171177 writeline = space_front + BOOK_LINE .format (book_index = book_index , image_path = image_path , book_title = book_title , book_year = book_year , url = book_url )
172178 zh_f .write (writeline )
173- elif section_line_match != None :
179+ elif section_line_match is not None :
174180 sectionID = re .search (r'\d+\.' , line_without_space ).group ()
175181 writeline = space_front + SECTION_LINE .format (section_title = SECTION_TITLE_DICT [sectionID ])
176182 zh_f .write (writeline )
177- elif label_line_match != None :
183+ elif label_line_match is not None :
178184 label_index = label_line_match .group ().split (' ' )[0 ]
179185 en_label_content = re .search (r'label="[\w -=\./\\]*"' , line_without_space ).group ()[7 :- 1 ]
180186 writeline = space_front + LABEL_LINE .format (label_index = label_index , label = LABEL_DICT [en_label_content ])
181187 zh_f .write (writeline )
182- elif content_line_match != None :
188+ elif content_line_match is not None :
183189 sectionID = line_without_space .split ('.' )[0 ][37 :] + '.'
184190 section_title = SECTION_TITLE_DICT [sectionID ]
185191 if '<' in line_without_space :
0 commit comments