python拉baidu blog的例子

学习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 = "

(\S+)"
  
 
 line = fp
 if len(line) == 0:
  break
 regline = line
 try:
  reg=re.search(tilepattern,regline).group(1)
 except AttributeError:
  continue

 file = open(reg+'.txt','w')
 linkusock = urllib.urlopen(urlbase+i)
 content = linkusock.read()
 content = unicode(content, "gbk")
 
 linkusock.close()
 contentpattern = "

((\S|\s)*)
"
  
 
 contentline = content
 
 if len(contentline) == 0:
  break
 try:
  getcontent = re.search(contentpattern, contentline).group(1)
 except AttributeError:
  continue
  
 #content去掉html标签
 re_br = re.compile('')#
 re_div = re.compile('')#div标签
 re_h = re.compile('')#HTML标签
 re_comment = re.compile('')#HTML注释
 re_td = re.compile('')
 re_nbsp = re.compile('&nbsp\s*;|&lt\s*;|&mdash\s*;')

 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()

 

 


 



Link URL: http://hyyuanqiang.blog.163.com/blog/static/59415137200942744616488

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12165911/viewspace-604321/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
user_pic_default.png
请登录后发表评论 登录
全部评论
<%=items[i].createtime%>

<%=items[i].content%>

<%if(items[i].items.items.length) { %>
<%for(var j=0;j
<%=items[i].items.items[j].createtime%> 回复

<%=items[i].items.items[j].username%>   回复   <%=items[i].items.items[j].tousername%><%=items[i].items.items[j].content%>

<%}%> <%if(items[i].items.total > 5) { %>
还有<%=items[i].items.total-5%>条评论 ) data-count=1 data-flag=true>点击查看
<%}%>
<%}%>
<%}%>

转载于:http://blog.itpub.net/12165911/viewspace-604321/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值