任务描述:
打开一个动态网页,获取其子网页的一些元素
举个栗子:
输入文件be like,
①https://useast.ensembl.org/Multi/Search/Results?q=TGF;site=ensembl_all;page=1;perpage=10
②点开第一个链接
解决方案:
使用python中selenium爬取
①谷歌浏览器及其对应版本的chrome driver(可从以下两个网站安装),并加入环境变量,同时将chromedriver.exe与python放置在同一路径下。
http://chromedriver.storage.googleapis.com/index.html
https://chromedriver.chromium.org/downloads
②pip安装selenium
③获取网页源代码
④同样的获取子网页的源代码,复制要爬取元素的xpath.
解释几点:
①图9中的 driver = webdriver.PhantomJS() 为PhantomJS 传说中的无头浏览器,下载后,放到python的路径下才可以使用。driver的两次定义实际上是为了刷新webdrive,该方法比driver.refresh()快(refresh受网速影响)
②子网页的xpath不是固定格式的,原因是不同的biomarker所有的信息不一样,因此id在网页中的位置也不一样.
③代码比较粗糙,只能实现半自动化,原因是如果遇到检索结果为0,则会超时报错。