python解析omim网页内容

news/2025/1/11 0:26:43/

 利用zip()函数把四个列表一对一的组合成一个元组。

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

利用map()函数对每一个元素进行函数操作,用匿名函数提取text和去掉\n

map()是 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

#python2 和python3 有差别,python3里面,map(),zip()的返回值已经不再是list,而是iterators, 所以想要使用,只用将iterator 转换成list 即可, 比如 list(map()) 

a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b)     # 打包为元组的列表  也可以zip(a,b,c)
[(1, 4), (2, 5), (3, 6)]
zip(a,c)              # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
zip(*zipped)          # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]

OMIM robots.txt 设置了爬虫策略,只允许 微软必应 bingbot 和谷歌 googlebot 爬虫获取指定路径内容。所以要进行爬取,需要进行设置,此处不讲,我们只对获得的网页解析

#!/usr/bin/env python
#-*- encoding:utf-8-*-
import sys  
reload(sys)  
sys.setdefaultencoding('utf8') from bs4 import BeautifulSoupoutput = open('./code/omim.txt','a')
html = open('C:/Users/xxxx/Desktop/code/omim.txt','r')
soup = BeautifulSoup(html,'lxml')
all = soup.select('.mim-text-font')
id = soup.select('#allelicVariantsFold')for i in id :number = i.select('.mim-font')ty = i.select('.lookup')rs = i.select('.btn-group')dec = i.select('p')print len(dec)zz= zip (number,ty,rs,dec)for z in zz:out= map(lambda x: x.text.strip('\n'),z)result = '\t'.join(out[i] for i in range(len(out)))output.write(result+'\n')output.flush()
output.close()

 


http://www.ppmy.cn/news/674314.html

相关文章

OMIM数据库简介

欢迎关注"生信修炼手册"! OMIM 全称叫做Online Mendelian Inheritance in Man, 是一个不断更新的人类孟德尔遗传病的数据库。这个数据库主要关注人类基因变异和表型性状之间的关系。 网址如下: https://omim.org/ 数据库中的每一条…

OMIM使用简要说明

OMIM 使用简要说明 1.OMIM 为“0nline MendelianInheritance in Man”的简称,它通过对新的病症分类并命名、收录表型和相关病因基因的关系来收录人类孟德尔疾病信息。所以我们可以通过表型或者基因型来搜索对应的信息。通过网址登陆到OMIM的主页: https:…

如何利用OMIM数据库获取肿瘤相关所有突变基因?

如何利用OMIM数据库获取肿瘤相关所有突变基因? OMIM是人类孟德尔遗传数据库(线上版)(0nline Mendelian Inheritance in Man)的简称。这是一个持续更新的关于人类基因和遗传紊乱的数据库,主要着眼于遗传性的…

数据库 | OMIM (在线人类孟德尔遗传)数据库简介

OMIM,即在线人类孟德尔遗传(Online Mendelian Inheritance in Man),是一个综合的、权威的研究人类表型和基因型关系的数据库,收录了所有已知的孟德尔疾病,和超过16000个基因的信息(涵盖一大半人…

JS知识点汇总(七)--数据类型

1. JavaScript中的简单数据类型有哪些? 1、概述 JS 中有六种简单数据类型:undefined、null、boolean、string、number、symbol ES10中的新特性 BigInt (任意精度整数),目前还处于stage-4阶段,不出意外即将成为js的第七种基本数据…

Leetcode-每日一题【61.旋转链表】

题目 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3] 示例 2: 输入:head [0,1,2], k 4输出&#xff1a…

关于苹果appid忘记安全性问题重置

在使用xcode时,发现强制推送双重认证,但是注册忘记了安全性问题。解决流程如下,耗时3天左右(不算周末) 账号密码正确,没有救援电子邮件,已经两步验证,忘记安全性问题的情况下启用双重认证 打电话工程师工单…

忘记iCloud密码的解决方案 - 仅适用于iOS 7.1以前(不含)

当苹果公司首次推出iOS 7时,有一个小技术错误帮助用户删除iCloud帐户,而不需输入密码。不过,苹果公司已经通过iOS 7.1的修正了这个错误。但是,如果您仍然拥有iOS 7,请按照以下步骤指导您删除遗失密码的iCloud帐户。 s…