接着昨天的问题,如果把所有的假定蛋白的信息全都找出来并把所有的结构域信息提取出来该怎么弄呢?

方案:

1,从基因组数据库中找出所有的基因序列以及标注信息

2,提取所有假定蛋白以及序列号

3,把所有假定蛋白的结构域信息写入excel

前两步筛选后发现大约有7000多个基因组假定蛋白,用爬虫的话NCBI网又很慢,就算一个5s,5*7500/3600 = 10h,太慢了,再加上网络不稳定,可能一天搞不定。多线程又不会,

只好写一个程序作为模块,然后一次多运行几个程序,每次取500个,每次开6个程序,发现10/6 = 1.5h 多一点就跑完了,机智。

主模块:

def hyp_protein():import reseqnum = []for line in open(r'J:\pymingming\10.23\magnaporthe.txt','r'):#打开基因组数据文件if 'Uncharacterized protein' in line and 'MGG' in line:#找出假定蛋白序列eachnum = re.search(r'MGG_\d{5}',line).group(0)#找出假定蛋白序列号seqnum.append(eachnum)#把序列号追加到列表return seqnum#返回列表def excel(filename,start, end):#保存文件名,起始和终止import openpyxlfrom bs4 import BeautifulSoupimport requestshead = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}url = r'https://www.ncbi.nlm.nih.gov/gene/?term='wb = openpyxl.Workbook()ws = wb.activews['A1'],ws['B1'],ws['C1'],ws['D1']  = '假定蛋白信息','结构域1','结构域2','结构域3'ws.freeze_panes = 'A2'i =0for num in hyp_protein()[start:end]:full_url = url + numl = []l.append(num)i += 1#用于显示进行到多少号,以方便查找错误try:res = requests.get(full_url,headers = head, timeout = 60)#设定最长连接不超过60秒res.encoding = 'utf-8'soup = BeautifulSoup(res.text,'lxml')domain = soup.find_all("dd",class_='clearfix')for each in domain:l.append(each.text)print(i)#打印运行到第几个except BaseException:passprint('fail')#如果出错则打印failws.append(l)wb.save(filename)if __name__ == '__main__':            excel(r'1.xlsx',0, 3) 

运行程序:

#1.pyfrom hyp_proteinlist import *excel(r'1_500.xlsx',0, 500)***
#6.pyfrom hyp_proteinlist import *excel(r'2500_3000.xlsx',2500, 3000)#一次运行6个。最后把所有excel数据合并到一个文件

大功告成。

转载于:https://www.cnblogs.com/Zhu-Xueming/p/8410887.html

如何快速的把所有蛋白质结构域信息爬取出来并保存到excel相关推荐

  1. Crawler:基于BeautifulSoup库+requests库+伪装浏览器的方式实现爬取14年所有的福彩网页的福彩3D相关信息,并将其保存到Excel表格中

    Crawler:Python爬取14年所有的福彩信息,利用requests库和BeautifulSoup模块来抓取中彩网页福彩3D相关的信息,并将其保存到Excel表格中 目录 输出结果 核心代码 输 ...

  2. 豆瓣电影Top250信息爬取并保存到excel文件中

    豆瓣电影Top250下载并保存到excel文件中 效果图 前言 确定目标网页url 爬取过程 导入相关库 页面内容的获取 页面解析 数据提取 主函数的编写 函数调用 数据存储 完整代码 结语 效果图 ...

  3. python生成大量随机信息,并保存到Excel文件中

    题目要求 生成大量随机信息1000条,(每条信息包括:姓名.性别.年龄.籍贯.电话号码.地址.电子邮件.数学成绩.英语成绩)统计分析数学成绩90分以上的人的性别.年龄.籍贯.尝试将上述随机生成信息写入 ...

  4. python爬取京东畅销榜(计算机类)图书信息(书名,作者,价格),并保存到excel表格

    爬虫新手小白的第一次"半独立"爬虫,为什么是"半独立"呢?因为基本的代码块是从其他博客借鉴过来的,在此基础上加入了自己的思考和实现. (后面的价格获取感觉自己走 ...

  5. python 爬虫抓取网页数据导出excel_Python爬虫|爬取起点中文网小说信息保存到Excel...

    前言: 爬取起点中文网全部小说基本信息,小说名.作者.类别.连载\完结情况.简介,并将爬取的数据存储与EXCEL表中 环境:Python3.7 PyCharm Chrome浏览器 主要模块:xlwt ...

  6. 用python提取发票扫描件常用的10多个发票信息保存到excel表

    用python提取发票扫描件常用的10多个发票信息 #输出所有文件和文件夹 如何将发票扫描将中常用的10-20个信息提取到excel表格中,用python提取是不错的方法. 1.用python提取发票 ...

  7. selenium , 招聘网站信息,保存到excel表,【完整代码】,python,pandas

    首先安装 如何安装使用selenium爬虫,请看我之前的博客:https://blog.csdn.net/Xiao_cai_gun/article/details/122254177?spm=1001 ...

  8. 使用requests、BeautifulSoup、线程池爬取艺龙酒店信息并保存到Excel中

    import requests import time, random, csv from fake_useragent import UserAgent from bs4 import Beauti ...

  9. Python爬取淘宝商品信息保存到Excel

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

最新文章

  1. 韦布望远镜现在到哪儿了:距离地球60万公里,NASA还说可以用10年
  2. day1学python Hello Python
  3. 系统登录界面的验证码
  4. CTF(Capture The Flag)
  5. 检测到目标url存在框架注入漏洞_HOST注入攻击剖析
  6. 移位操作提高代码的可读性_本地记录或类,以提高流操作的可读性
  7. winform第三方控件wmp
  8. 阿里云官方网站免费套餐怎么抢
  9. Django中的F对象和Q对象
  10. 清华大学-美团数字生活联合研究院成立
  11. JeecgBoot Minio版本6.0.13升级到8.0.3修改方法
  12. Servlet的学习之web路径问题
  13. linux socket closeconnection,求助:socket的Connection refused
  14. 重新挂载磁盘mysql重新建表_Linux重新挂载磁盘
  15. java ocr linux_linux (centos7)上装Tesseract-OCR最新版本(5.0)
  16. 手机RAM ROM TF
  17. 从0开发豆果美食小程序——搜索组件
  18. agx 安装ros opencv_CARLA与Autoware和ROS的联合仿真安装过程
  19. “碰一碰”版本的蓝牙键盘,来啦!
  20. 什么是依赖注入,vue的依赖注入如何实现的

热门文章

  1. 数据结构——已知数组A[1…n] 的元素类型为整型int,设计一个时间和空间上尽可能高效的算法,将其调整为左右两部分,左边所有元素为奇数,右边所有元素为偶数,不要求对这些元素排序。
  2. 【电力电子技术】THE CUK 电路
  3. linux FFMPEG 摄像头采集数据推流
  4. api中文文档 mws_Amzon MWS API开发之订单接口
  5. Intel 8042 PS/2键盘鼠标控制器详细介绍
  6. 人员关系html,html5简单的人物关系图制作代码
  7. 网站丨别再说你找不到好用的工具了
  8. EditPlus_3.4及注册码
  9. 什么是CRT函数以及常用的CRT函数
  10. riscv linux 参考启动流程