700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python爬取文本中的成语_python正则表达式抓取成语网站

python爬取文本中的成语_python正则表达式抓取成语网站

时间:2018-09-07 05:13:05

相关推荐

python爬取文本中的成语_python正则表达式抓取成语网站

#anthor jiqunpeng

#time 1124

import urllib

import re

def getHtml(url): #从URL中读取html内容

page = urllib.urlopen(url)

html = page.read()

page.close()

return html

def getDictionary(html): #匹配成语

reg = "(.*?)"

dicList = pile(reg).findall(html)

return dicList

def getItemSite():#手工把每个字母开头的页面数统计下来

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+")#保存成语的文件

domainsite = "/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")#标记为成语,分词时使用

print key+'字母成语抓取完毕'

dicFile.close()

print '全部成语抓取完毕'

把成语保存在了txt文本中,还添加了一个后缀标签。

最后注意,设计正则表达式时可能会出现明明认为是正确的,就是匹配不了,对空白字符要留意,比如说要解析:

网友评论

文明上网理性发言,请遵守 新闻评论服务协议我要评论

立即提交

专题推荐独孤九贱-php全栈开发教程

全栈 100W+

主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

玉女心经-web前端开发教程

入门 50W+

主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

天龙八部-实战开发教程

实战 80W+

主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。