起因是一个师弟想下载GISAID的基因数据,本来以为挺好下载的,毕竟网站上面放个链接,或者给个api就可以,然后,我发现,没有。。。诺大一个网站竟然没有发现一个整库下载的链接。
那对我们这些科研人员也太不友好了吧,燕赵之地多任侠,外加我心情不太好,额,这个是主要原因,盘它。
import time
from selenium import webdriver
driver = webdriver.Chrome('path/to/chromedriver') # Optional argument, if not specified will search path.
driver.get('https://platform.gisaid.org/epi3/frontend#2b8eee');
driver.refresh() #刷新页面
#driver.maximize_window()
#填充用户名 密码 验证码
driver.find_element_by_id("elogin").send_keys('usename')
driver.find_element_by_id("epassword").send_keys('passwd')
driver.find_element_by_class_name("form_button_submit").click()
time.sleep(5)
driver.find_element_by_partial_link_text("EpiCoV™").click()
time.sleep(5)
driver.find_elements_by_class_name("sys-actionbar-action")[1].click()
page_num=67
for i in range(67):
a=time.time()
sim_num=len(driver.find_elements_by_class_name('yui-dt-rec'))
for x in range(sim_num):
print(x)
driver.find_elements_by_class_name('yui-dt-rec')[x].click()
#time.sleep括号内是等待时间,有些网络不好,就多加几秒,有些好就减少几秒
time.sleep(3)
driver.switch_to.frame(0)
time.sleep(5)
#meta下载
driver.find_elements_by_class_name("sys-form-button-icon")[1].click()
time.sleep(5)
#fasta下载
driver.find_elements_by_class_name("sys-form-button-icon")[2].click()
time.sleep(10)
driver.find_elements_by_class_name("sys-form-button-icon")[0].click()
time.sleep(5)
driver.find_element_by_class_name('yui-pg-next').click()
time.sleep(5)
b=time.time()
print(b-a)
行,代码基本就放在这里了,我在github上传一份,如果你们有什么更快整库下载的方法告诉我就好。
github地址:https://github.com/luskyqi1995/pubchem
然后,怎么说呢,重点在selenium这个库上,这个也算是爬虫的一种,只不过,这个的目的是为了方便科研。希望GISAID的界面做的好一点吧。
下面是一个视频,如果你们看不到的话,那说明我不会把视频上传上去。
好吧,在审核中,那我过了12点再放一波。
就这样