精華區beta Python 關於我們 聯絡資訊
使用方法: *.py <帳號> <相簿編號> 目前的版本是搭配系統中的 wget 來抓 URL 如果大家有什麼建議改進的地方都可以提出來討論 ^^; 互相學習囉 #!/usr/bin/python import urllib2 import re import sys import os global addr addr = "http://www.wretch.cc/album" def get_pic(path): url = re.sub('&amp;', r'&', addr+path) r = urllib2.Request(url) r.add_header('Referer', addr) r.add_header('User-Agent', 'Mozilla 5.0') cont = urllib2.urlopen(r) c = cont.readlines() for line in c: if re.match('.*<img id=\'DisplayImage\'.*?></a>', line): mat = re.findall('(http.*?)\'', line) if mat: os.system('/usr/bin/wget --header=\'Referer: http://www.wretch.cc/album\' --header=\'User-Agent: Mozilla 5.0\' '+mat[0]) def grab(lines): flag = 0; for line in lines: if re.match(".*show.php.*", line): flag = flag +1 mat = re.findall('<a href=".(.*?)" ><.*?</a>', line) if mat: get_pic(mat[0]) if flag == 0: return True else: return False if __name__ == "__main__": user = sys.argv[1] book = sys.argv[2] url = addr+"/album.php?id="+user+"&book="+book i = 1 while True: url2 = url+"&page="+str(i) req = urllib2.Request(url2) req.add_header('Referer', addr) req.add_header('User-Agent', 'Mozilla 5.0') page = urllib2.urlopen(req) if (grab(page.readlines())): break; i = i + 1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.31.143
wawawa:我覺得看別人的範例是學習最快的方法了:) 12/26 17:42