下载词典列表地址

简化不必要的细节,现实版的实践?自觉的优化代码o()o

# -*- coding: utf-8 -*-
#导入re模块
import re
import urllib.request
from bs4 import BeautifulSoup

#部首列表正则表达式
bspattern = re.compile(r"(?:%[^%']{2}){3}")
cipattern = re.compile(r"/c/[^']*?htm")
#1获取部首列表页面
req1 = urllib.request.Request('http://www.zdic.net/c/cibs/')
response1 = urllib.request.urlopen(req1)
index_page1 = response1.read()
#分析得到部首列表
#先试试直接正则表达式提取部首列表
index_page1 = index_page1.decode('utf8')
bslist = re.findall(bspattern, index_page1)

#1获取词列表      部首列表页面
for bu in bslist:
    print(bu)
    bu = "http://www.zdic.net/c/cibs/bs/?bs=" + b
    reqb = urllib.request.Request(bu)
    reqb.add_header('Referer', 'http://www.zdic.net/c/cibs/')
    responseb = urllib.request.urlopen(reqb)
    index_z = responseb.read()
#分析得到字列表
    index_z = index_z.decode('utf8')
    zlist = re.findall(bspattern, index_z)
#部首列表地址
    for z in zlist:
        if len(z) != 0:           
            z = "http://www.zdic.net/c/cibs/ci/?z=" + z
            print(z)
            reqz = urllib.request.Request(z)
            reqz.add_header('Referer', 'http://www.zdic.net/c/cibs/')
            responseb = urllib.request.urlopen(reqz)
            index_c = responseb.read()
        #分析得到字列表
            index_c = index_c.decode('utf8')        
            clist = re.findall(r"/z/[^']*?\.htm", index_c)
            #转化为字地址列表
            for uc in clist:
                line = "http://www.zdic.net/" + uc
                outfile.write(line+'\n')#参数不能为叠加器
outfile.close()


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,655评论 25 708
  • 当你把一两鸡蛋 磕碎在瓷碗里 别火急火燎要搅破它 好吗 那是颗金灿灿的葵花 象征你新一天的心情 你可以发誓 一生只...
    山屈生阅读 387评论 0 0
  • 周一学习(活法)弟三章,每天的劳动磨砺心志。 我们要提升自己的道德品质,不需要你去做特殊的,非常艰难的修行。在...
    陈顺富888087阅读 294评论 0 0
  • 世上最不好打交道的是中介。 你去楼盘看楼的时候,不管你联系多少个中介,不管是什么公司的中介,他们都异口同声地说,“...
    黄梁书梦阅读 451评论 0 0