学习python 一个礼拜
闲的无聊写的
很粗糙
权当用来熟悉python
#!/usr/bin/env python
# -*- coding: gbk -*-
import urllib, re
from sgmllib import SGMLParser
import sys
reload(sys)
sys.setdefaultencoding('gbk')
class URLLister(SGMLParser):
def reset(self):
SGMLParser.reset(self)
self.urls = []
def start_a(self, attrs):
href = [v for k, v in attrs if k=='href']
if href:
self.urls.extend(href)
homeurl ="http://hi.baidu.com/shenjianyz/blog"
urlbase = homeurl[:homeurl.rfind("/")]
urlbase = urlbase[:urlbase.rfind("/")]
usock = urllib.urlopen(homeurl)
fp = usock.read()
parser = URLLister()
parser.feed(fp)
usock.close()
parser.close()
fp = unicode(fp, "gbk")
modpattern = '^/\S+.html$'
useurl = []
for url in parser.urls:
if re.search(modpattern, url) :
useurl.append(url)
urlunique = [i for i in set(useurl)]
for i in urlunique:
tilepattern = "
file = open(reg+'.txt','w')
linkusock = urllib.urlopen(urlbase+i)
content = linkusock.read()
content = unicode(content, "gbk")
linkusock.close()
contentpattern = "
getcontent = re_br.sub('\n', getcontent)#将br转换为换行
getcontent = re_div.sub(' ', getcontent)
getcontent = re_h.sub(' ', getcontent)
getcontent = re_comment.sub(' ', getcontent)
getcontent = re_td.sub(' ', getcontent)
getcontent = re_nbsp.sub(' ', getcontent)
file.write(urlbase+i+'\n')
file.write(getcontent)
file.close()
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12165911/viewspace-604321/ ,如需转载,请注明出处,否则将追究法律责任。