1. 从网站中或得指定字段
import requests
import pandas as pd
from bs4 import BeautifulSoup
import time
from multiprocessing import Poolclass Downloader():def __init__(self):self.server = 'https://www.uniprot.org/uniprot/'self.file = r"uniprots_input.csv"#self.url = 'https://www.uniprot.org/uniprot/XXX#family_and_domains'self.url = 'https://www.uniprot.org/uniprot/XXX' #网站链接self.uniprots = []self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0','Upgrade-Insecure-Requests': '1'}self.outpath_txt = r"uniprots_output.csv"def get_uni(self):df = pd.read_csv(self.file)# print(df)# print("***************")# print(df.columns)self.uniprots.extend(df['Uniports'])def get_contents(self, uniprot):target = self.url.replace('XXX', uniprot)s = requests.session()rep = s.get(url=target, verify=False, headers=self.headers, timeout=30)rep.raise_for_status()soup = BeautifulSoup(rep.text, 'html.parser')#families = soup.select('#family_and_domains > div.annotation > a')families = soup.select('#content-gene')fam = [i.get_text() for i in families]if fam != []:fam.extend([uniprot])else:families = soup.select('#content-gene')fam = [i.get_text() for i in families]fam.extend([uniprot])print(fam)return fam#写入文件def write_txt(self, family):with open(self.outpath_txt, 'a') as f:f.write(str(family) + '\n')def trans_csv(self):df = pd.read_csv(self.file)families = {}with open(self.outpath_txt, 'r') as f:text = f.readlines()for f_u in text:f_u = f_u.replace('\n', '').split(',')families.update({f_u[len(f_u) - 1]: '|'.join(f_u[0:(len(f_u) - 1)])})uni_left = [uni for uni in list(df['Uniports']) if uni not in families.keys()]for u in uni_left:families.update({u: None})df['Family'] = df['Uniports'].map(lambda x: families[x])df.to_csv(self.file)if __name__ == "__main__":dl = Downloader()dl.get_uni()pool = Pool(processes=8)for uniprot in dl.uniprots:try:pool.apply_async(func=dl.write_txt, args=(dl.get_contents(uniprot),))print("uniprot:" + uniprot + "info download finished")time.sleep(0.5)except:print(uniprot + "download fail")pool.close()pool.join()dl.trans_csv()


unpiortID-A1Z199


获得对应的基因号码

注解:python3.7
参考文献:https://blog.csdn.net/recher_He1107/article/details/103888869

python_getUniport_从uniport网站中获得指定的字节相关推荐

  1. 在没有搜索功能的网站中寻找指定内容

    在生活中,经常会遭遇到一些站点有着足量的内容,但是却没有搜索功能. 逐个寻找需要花费大量的时间,这时google的站内搜索功能便十分重要了. 在谷歌搜索框中输入想要输入的内容,然后在后面加上site: ...

  2. 巧用搜索引擎---如何在指定网站中搜索

    子曰:"工欲善其事,必先利其器."在平时工作和学习中,网络上查找各种资料是最浪费时间的.在查资料的时候搜索功能是经常要用到的,常规的做法是在搜索引擎中直接搜索关键词. 比如我想找一 ...

  3. python 去掉文件后缀_python从zip中删除指定后缀文件(推荐)

    一,说明 环境:python2 用到的模块 os zipfile shutil 程序功能:从zip中删除指定后缀的文件,然后再自动压缩 函数说明: DelFileInZip(path,suffix) ...

  4. VB 在浏览器中打开指定网址

    Shell "Rundll32.exe url.dll, FileProtocolHandler http://miaozk2006.blog.163.com", vbNormal ...

  5. 【论文写作】精品课程教学网站中用户管理如何写

    5.1用户注册 帐号是新用户对网站访问的钥匙,如果这个钥匙丢掉的话,影响用户对网站的访问.在系统注册的时候,帐号是由系统自动分配的.还有为了可以找回帐号密码,在用户注册的时候,必须要填写密码问题和问题 ...

  6. 关于网站中图片排名优化的技巧是?

    一说到网站的优化工作,大部分的SEOer都会考虑去做网站的页面关键词优化,很多人却忽视图片的优化,更别说图片排名优化.虽然说现在的搜索引擎还不能很好的识别图片,图片站的排名也比较难做,可在实际应用当中 ...

  7. html中文本信息导出表格中,了解如何使用表格在网站中显示内容

    了解如何使用表格在网站中显示内容.此外,还可了解如何拆分和合并表格单元格以及如何导入和导出表格式数据. 表格是用于在 HTML 页上显示表格式数据以及对文本和图形进行布局的强有力的工具.表格由一行或多 ...

  8. iPhone App创建与审核步骤二:如何在developer.apple.com网站中设置App预览和截屏以完成App上架

    iPhone App创建与审核步骤二:如何在developer.apple.com网站中设置App预览和截屏以完成App上架,根据图标规范RAD Studio 10.4 for delphi XE 或 ...

  9. 视频网站中的推荐系统

    转自:http://www.programmer.com.cn/9242/ 文 / 郑华 随着互联网特别是社会化网络的快速发展,我们正处于信息过载的时代.用户面对过量的信息很难找到自己真正感兴趣的内容 ...

最新文章

  1. 【通俗理解】差模电压和共模电压
  2. Python学习:列表
  3. 举例说明事务隔离级别
  4. P4258-[WC2016]挑战NPC【带花树】
  5. vue底部跳转_详解Vue底部导航栏组件
  6. 计算机桌面设计总结及体会,计算机基础学习心得
  7. 【剑指offer】面试题66:构建乘积数组(Java)
  8. Find the safest road(HDU-1596)
  9. php asrot,PHP项目部署,Composer install Do not run Composer as root/super user!
  10. UNIX环境高级编程之第4章:文件和目录
  11. MacOS如何修复磁盘权限
  12. 2006无法登录mysql_错误2006(HY000):MySQL服务器消失了
  13. 使用Crash工具查看一个TCP listen sock内存布局实例
  14. 高精度温度采集系统设计
  15. 为何最简单的破坏命令通过了众多杀软
  16. javascript调用php函数_JavaScript怎么调用PHP函数?
  17. u盘插在服务器上显示加载失败,U盘加载失败怎么解决
  18. JS统计页面访问时长
  19. 一分钟让你明白货币贬值现象
  20. Ubuntu环境下挂载新硬盘

热门文章

  1. 51单片机实验——模拟三台机器故障检测与指示系统
  2. Linux 下的zip,rar
  3. 从京东产品学搭建SaaS架构
  4. 浅谈机器学习-回归与分类的区别
  5. 解析华为MAS EIE系统硬件与软件结构
  6. 激活windows系列地址
  7. 要升级win11吗?电脑变板砖的那种
  8. Can't locate Time/HiRes.pm in @INC错误的处理方法 perl安装不全
  9. 如何将excel里的数据导入到mysql中
  10. pom引入外部jar