亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2104 | 回復(fù): 1
打印 上一主題 下一主題

學(xué)了一個(gè)禮拜python,寫的讀baidu空間日志的 例子 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-05-27 17:08 |只看該作者 |倒序?yàn)g覽

馬馬虎虎學(xué)了一周
其實(shí)也沒有一周
就是下班了
晚上回去看看書



#!/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 = "<div class=\"tit\"><a href=\"" + i +"\" target=\"_blank\">(\S+)</a>"
   
       
        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 = "<div id=\"m_blog\" class=\"modbox\">((\S|\s)*)<div class=\"opt\">"
   
       
        contentline = content
       
        if len(contentline) == 0:
                break
        try:
                getcontent = re.search(contentpattern, contentline).group(1)
        except AttributeError:
                continue
               
        #content去掉html標(biāo)簽
        re_br = re.compile('<br\s*?/?>')#
        re_div = re.compile('</?\s*div\s*(class\s*=\s*\"\w+\"|id\s*=\s*\"\w+\"|\s)*>')#div標(biāo)簽
        re_h = re.compile('</?\w+[^>]*>')#HTML標(biāo)簽
        re_comment = re.compile('<!--[^>]*-->')#HTML注釋
        re_td = re.compile('<\s*/?\s*td\s*>')
        re_nbsp = re.compile('&nbsp\s*;|&lt\s*;|&mdash\s*;')

        getcontent = re_br.sub('\n', getcontent)#將br轉(zhuǎn)換為換行
        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()

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2009-05-27 17:13 |只看該作者
感謝分享,就是最后的替換html符部分有點(diǎn)亂,可以把幾個(gè)sub寫在一個(gè)正則里面去替換
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP