国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

python正則表達(dá)式抓取成語(yǔ)網(wǎng)站

2020-02-23 04:57:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1、首先找到一個(gè)在線(xiàn)成語(yǔ)網(wǎng)站

2、查看網(wǎng)頁(yè)結(jié)構(gòu),定義正則式

看一下要抓的成語(yǔ)的標(biāo)簽有什么特點(diǎn),查看源碼,可以發(fā)現(xiàn)要抓的成語(yǔ)都在<a>標(biāo)簽中,如:<a href="/cy0/93.html">安如磐石</a>,成語(yǔ)事實(shí)上就是一個(gè)瞄文本,不同成語(yǔ)指向的鏈接不同,其實(shí)也就"/cy0/93.html"中的數(shù)字不同,所以正則式里匹配兩次數(shù)字就行了,定義正則式 reg =   "<a href=/"/cy(/d+)/(/d+).html/">(.*?)</a>"。
3、上代碼吧

代碼如下:
#anthor jiqunpeng
#time 20121124
import urllib
import re

def getHtml(url): #從URL中讀取html內(nèi)容
    page = urllib.urlopen(url)
    html = page.read()
    page.close()
    return html

def getDictionary(html): #匹配成語(yǔ)
    reg = "<a href=/"/cy(/d+)/(/d+).html/">(.*?)</a>"  
    dicList = re.compile(reg).findall(html)
    return dicList

def getItemSite():#手工把每個(gè)字母開(kāi)頭的頁(yè)面數(shù)統(tǒng)計(jì)下來(lái)
    itemSite = {}#申明為空字典
    itemSite["A"] = 3
    itemSite["B"] = 21
    itemSite["C"] = 19
    itemSite["D"] = 18
    itemSite["E"] = 2
    itemSite["F"] = 14
    itemSite["G"] = 13
    itemSite["H"] = 15
    itemSite["J"] = 23
    itemSite["K"] = 6
    itemSite["L"] = 15
    itemSite["M"] = 12
    itemSite["N"] = 5
    itemSite["O"] = 1
    itemSite["P"] = 6
    itemSite["Q"] = 16
    itemSite["R"] = 8
    itemSite["S"] = 26
    itemSite["T"] = 12
    itemSite["W"] = 13
    itemSite["X"] = 16
    itemSite["Y"] = 35
    itemSite["A"] = 21
    return itemSite
   

if __name__== "__main__":
    dicFile = open("dic.txt","w+")#保存成語(yǔ)的文件
    domainsite = "http://chengyu.itlearner.com/list/"
    itemSite = getItemSite()
    for key,values in itemSite.items():
        for index in range(1,values+1):
            site = key +"_"+str(index)+".html"             
            dictionary = getDictionary(getHtml(domainsite+site))
            for dic in dictionary:
                dicFile.write(dic[2]+"@@CY/n")#標(biāo)記為成語(yǔ),分詞時(shí)使用

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 通河县| 礼泉县| 太和县| 海安县| 黔江区| 德江县| 彰化县| 连南| 老河口市| 林西县| 慈溪市| 江陵县| 乐安县| 桓台县| 司法| 新宁县| 疏勒县| 北票市| 夏津县| 武汉市| 德化县| 铜陵市| 舒城县| 教育| 葵青区| 岑巩县| 阜宁县| 拜城县| 长泰县| 元谋县| 鄂州市| 美姑县| 招远市| 沛县| 岱山县| 垫江县| 青田县| 景泰县| 巴塘县| 文安县| 信阳市|