def fetch_page(page_url): html = fetch_url(page_url) html = html.decode() # print( html) match = re.findall(r'<img src="([^"]+.douban.com/view/group_topic/large/public/p\d+\.jpg)"', html) if match is None: print("no image in this page\n") return False file_table = kv.get("attitude") page_images = kv.get("page_images") image_page = kv.get("image_page") for image_url in match: file_name = image_url[image_url.rfind("/") + 1 :] file_name = "images/" + file_name image_page[file_name] = page_url page_images.setdefault(page_url, []).append(file_name) page_images[page_url] = list(set(page_images[page_url])) kv.save("page_images", page_images) kv.save("image_page", image_page) if file_name in file_table: if file_table[file_name] == "d": print("hate", file_name) continue if os.path.isfile(file_name): print("skip", file_name) continue print("save", file_name) urllib.request.urlretrieve(image_url, file_name)
def fetch_page(page_url): html = fetch_url(page_url) html = html.decode() # print( html) match = re.findall( r'<img src="([^"]+.douban.com/view/group_topic/large/public/p\d+\.jpg)"', html) if match is None: print("no image in this page\n") return False file_table = kv.get('attitude') page_images = kv.get('page_images') image_page = kv.get('image_page') for image_url in match: file_name = image_url[image_url.rfind('/') + 1:] file_name = 'images/' + file_name image_page[file_name] = page_url page_images.setdefault(page_url, []).append(file_name) page_images[page_url] = list(set(page_images[page_url])) kv.save('page_images', page_images) kv.save('image_page', image_page) if file_name in file_table: if file_table[file_name] == 'd': print('hate', file_name) continue if os.path.isfile(file_name): print("skip", file_name) continue print("save", file_name) urllib.request.urlretrieve(image_url, file_name)
print('default is Pass') action = 'p' attitude[f] = action if action == 'd': print('delete', f) os.remove(f) if action == 'la' or action == 'da': if can_open: action = action[0] page_images = kv.get('page_images') images = page_images[page_url] for image in images: if image not in attitude: print(action, image) attitude[image] = action else: print('u already', attitude[image], image) else: print('error, can not do to all') continue if action == 'o': if can_open: webbrowser.open(page_url) else: print('error, can not open') else: break kv.save('attitude', attitude)
# -*- coding: UTF-8 -*- import os import kv import cgi import json import log # enable debugging import cgitb cgitb.enable() print("Content-Type: application/json;charset=utf-8\r") print("\r") root = os.getcwd() attitude_map = kv.get('attitude') post = cgi.FieldStorage() action = post['action'].value action = action[0] f = post['file'].value attitude_map[f] = action file_path = root+'/'+f if action == 'd' and os.path.isfile(file_path): os.remove(file_path) kv.save('attitude', attitude_map) print(json.dumps({'code': 0, 'action':action, 'file': f}));
import os import kv import cgi import json import log # enable debugging import cgitb cgitb.enable() print("Content-Type: application/json;charset=utf-8\r") print("\r") root = os.getcwd() attitude_map = kv.get("attitude") post = cgi.FieldStorage() action = post["action"].value action = action[0] f = post["file"].value attitude_map[f] = action file_path = root + "/" + f if action == "d" and os.path.isfile(file_path): os.remove(file_path) kv.save("attitude", attitude_map) print(json.dumps({"code": 0, "action": action, "file": f}))
print('default is Pass') action = 'p' attitude[f] = action if action == 'd': print('delete', f) os.remove(f) if action == 'la' or action == 'da': if can_open: action = action[0] page_images = kv.get('page_images') images = page_images[page_url] for image in images: if image not in attitude: print(action, image) attitude[image] = action else: print('u already',attitude[image],image) else: print('error, can not do to all') continue if action == 'o': if can_open: webbrowser.open(page_url) else: print('error, can not open') else: break kv.save('attitude', attitude)