[範例] 無名小站相簿 grabber
使用方法: *.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('&', 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
推
12/26 17:42, , 1F
12/26 17:42, 1F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 4 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章