三级结构_kegg pathway三级层级结构转对应表格
先上图,如果不是需要的就可以不用往下看了。
首先是什么样的层级结构,如下图,有些长,不完整,完整的图太长上传不了,打开链接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三级层级结构转对应表格相关推荐
- 数据库系统为什么使用三级模式结构
三级模式结构:外模式.模式和内模式 一.模式(Schema)定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图. 理解: ① 一个数据库只有一个模式: ② 是数据库 ...
- Intel Sandy Bridge/Ivy Bridge架构/微架构/流水线 (13) - 缓存层级结构
Cache Hierarchy 每个处理器核中,高速缓存的层级结构包括一级指令缓存LII,一级数据缓存LID,以及二级缓存.如果开启了Intel超线程技术,数据缓存有可能被两个逻辑处理器共享使用.二级 ...
- 数据库的三级模式结构和两级映像
数据库的三级模式结构 请先把下面的关系记在心中. 外模式(应用)->概念模式(表结构)->内模式(物理) 外模式(external schema) 也称"用户模式"或者 ...
- 企业行业树形图,层级结构展示
企业行业树形图,层级结构展示 一.业务需求 按照行业分类标准,实现行业间的层级关系,标准中行业分为四级,门类–大类–中类–小类,点击最后一层小类时,打开该类行业的查询结果页面,还有一点就是如果企业表中 ...
- 数据库系统的三级模式结构与二级映像
数据库系统的三级模式结构 模式是数据库中全体数据的逻辑结构和特征的描述,它只涉及型的描述,而不涉及具体的值.模式的一个具体值称为模式的一个实例.同一个模式可以有很多实例.模式相对稳定不变,而实例则由于 ...
- DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测
DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练.预测 导读 计算图在神经网络算法中的作用.计算图的节点是由局部计算构成的. ...
- DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、GC对比
DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练.GC对比 导读 神经网络算法封装为层级结构的作用.在神经网络算法中,通过将 ...
- DL之CNN:卷积神经网络算法简介之原理简介(步幅/填充/特征图)、七大层级结构(动态图详解卷积/池化+方块法理解卷积运算)、CNN各层作用及其可视化等之详细攻略
DL之CNN:卷积神经网络算法简介之原理简介(步幅/填充/特征图).七大层级结构(动态图详解卷积/池化+方块法理解卷积运算).CNN各层作用及其可视化等之详细攻略 目录 CNN 的层级结构及相关概念 ...
- linux 进程间通信 dbus-glib【实例】详解三 数据类型和dteeth(类型签名type域)(层级结构:服务Service --> Node(对象、object) 等 )(附代码)
linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...
最新文章
- 什么才是真正的程序员?
- 自动清理归档日志_Oracle重做日志和日志挖掘
- Java程序员大神给初学者的学习方法路线建议
- linux获取bind返回值信息,v$sql_bind_capture 获取绑定变量信息
- python调用C语言ctypes详解
- unity 创建NGUI字体
- PHP可以读取什么配置文件,使用php读取配置文件
- java线程卖票_Java通过卖票理解多线程
- EF 4.3 Code-Based Migrations
- jdk API说明手册
- 李宏毅机器学习笔记【未完】
- Linux:Pycharm中使用Git
- android模拟器电视,Android TV开发之模拟器的设置
- 【线代】《线性代数的几何意义》——摘录笔记(一)
- 点亮LED灯及IAR调试
- 梯形公式预测校正matlab_鲁棒预测控制(Robust MPC)
- vitamio视频框架使用详解
- 计算机组成原理笔记(王道考研) 第二章:数据的表示和运算2
- 分别实现:css动画、js动画、vue动画
- 6-4 批量求和(*) (20分)