先上图,如果不是需要的就可以不用往下看了。

首先是什么样的层级结构,如下图,有些长,不完整,完整的图太长上传不了,打开链接https://www.genome.jp/kegg/pathway.html查看。

转化后的表格

完整代码

import reimport lxmlimport requestsfrom bs4 import BeautifulSoupfrom fake_useragent import UserAgentclass kegg(object):    def __init__(self):        self.url = 'https://www.genome.jp/kegg/pathway.html'        ua = UserAgent(verify_ssl=False)        self.headers = {'User-Agent': ua.random}    def get_html(self, url):        response = requests.get(url, headers=self.headers)        if response.status_code == 200:            return response        else:            return None    def keggPathway(self, url):        if self.get_html(url):            html = self.get_html(url).text            soup = BeautifulSoup(html, "lxml")            Kmain = soup.find(id="main")            fp = []            sp = []            for i in Kmain:                if re.findall(r"

(.*?)

", str(i)): fp.append(re.findall(r"

(.*?)

", str(i))) if re.findall(r"(.*?)", str(i)): sp.append(re.findall(r"(.*?)", str(i))) del sp[0] kt = Kmain.find_all(class_="list") print(len(fp), len(sp), len(kt)) tpw = [] for i in fp: for j, k in zip(sp, kt): if i[0][0] == j[0][0]: fs = re.sub(r'^[^A-Z]*', '', i[0]) + "\t" + re.sub( r'^[^A-Z]*', '', j[0]) ka = k.find_all('a') for l in ka: kau = l.get("href") kat = l.get_text() mapN = re.findall(r'\?(.*?)$', str(kau))[0] tpw.append(fs + "\t" + kat + "\t" + mapN) return tpw def main(self): tpw = self.keggPathway(self.url) with open("temptpw.tsv", "w") as f: for i in tpw: f.write(i + "\n")if __name__ == "__main__": kp = kegg() kp.main()

变量名起的很随意,上面代码理解起来不难,暂不解释。

三级结构_kegg pathway三级层级结构转对应表格相关推荐

  1. 数据库系统为什么使用三级模式结构

    三级模式结构:外模式.模式和内模式 一.模式(Schema)定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图. 理解: ① 一个数据库只有一个模式: ② 是数据库 ...

  2. Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (13) - 缓存层级结构

    Cache Hierarchy 每个处理器核中,高速缓存的层级结构包括一级指令缓存LII,一级数据缓存LID,以及二级缓存.如果开启了Intel超线程技术,数据缓存有可能被两个逻辑处理器共享使用.二级 ...

  3. 数据库的三级模式结构和两级映像

    数据库的三级模式结构 请先把下面的关系记在心中. 外模式(应用)->概念模式(表结构)->内模式(物理) 外模式(external schema) 也称"用户模式"或者 ...

  4. 企业行业树形图,层级结构展示

    企业行业树形图,层级结构展示 一.业务需求 按照行业分类标准,实现行业间的层级关系,标准中行业分为四级,门类–大类–中类–小类,点击最后一层小类时,打开该类行业的查询结果页面,还有一点就是如果企业表中 ...

  5. 数据库系统的三级模式结构与二级映像

    数据库系统的三级模式结构 模式是数据库中全体数据的逻辑结构和特征的描述,它只涉及型的描述,而不涉及具体的值.模式的一个具体值称为模式的一个实例.同一个模式可以有很多实例.模式相对稳定不变,而实例则由于 ...

  6. DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测

    DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练.预测 导读           计算图在神经网络算法中的作用.计算图的节点是由局部计算构成的. ...

  7. DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、GC对比

    DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练.GC对比 导读           神经网络算法封装为层级结构的作用.在神经网络算法中,通过将 ...

  8. DL之CNN:卷积神经网络算法简介之原理简介(步幅/填充/特征图)、七大层级结构(动态图详解卷积/池化+方块法理解卷积运算)、CNN各层作用及其可视化等之详细攻略

    DL之CNN:卷积神经网络算法简介之原理简介(步幅/填充/特征图).七大层级结构(动态图详解卷积/池化+方块法理解卷积运算).CNN各层作用及其可视化等之详细攻略 目录 CNN 的层级结构及相关概念 ...

  9. linux 进程间通信 dbus-glib【实例】详解三 数据类型和dteeth(类型签名type域)(层级结构:服务Service --> Node(对象、object) 等 )(附代码)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

最新文章

  1. 什么才是真正的程序员?
  2. 自动清理归档日志_Oracle重做日志和日志挖掘
  3. Java程序员大神给初学者的学习方法路线建议
  4. linux获取bind返回值信息,v$sql_bind_capture 获取绑定变量信息
  5. python调用C语言ctypes详解
  6. unity 创建NGUI字体
  7. PHP可以读取什么配置文件,使用php读取配置文件
  8. java线程卖票_Java通过卖票理解多线程
  9. EF 4.3 Code-Based Migrations
  10. jdk API说明手册
  11. 李宏毅机器学习笔记【未完】
  12. Linux:Pycharm中使用Git
  13. android模拟器电视,Android TV开发之模拟器的设置
  14. 【线代】《线性代数的几何意义》——摘录笔记(一)
  15. 点亮LED灯及IAR调试
  16. 梯形公式预测校正matlab_鲁棒预测控制(Robust MPC)
  17. vitamio视频框架使用详解
  18. 计算机组成原理笔记(王道考研) 第二章:数据的表示和运算2
  19. 分别实现:css动画、js动画、vue动画
  20. 6-4 批量求和(*) (20分)

热门文章

  1. Django 应用开发(2)
  2. 超级有意思的代码注释
  3. JAVA笔记13__创建线程/线程休眠/等待线程终止/线程中断/守护线程
  4. 【转】常用数据结构及复杂度
  5. SQL Server 多实例下的复制
  6. 5、在secureCRT中vi显色
  7. mysql去除select换行符_MySQL中去除字段中的回车符和换行符
  8. python好用-Python有哪些常见的、好用的爬虫框架?
  9. python入门教程书籍-初学者最好的Python书籍
  10. python怎么安装requests库-Python爬虫入门requests库的安装与使用