请帮帮我。我迫切需要。我想从csv文件中逐列输入网站的唯一内容,并将所有列的输出下载到一个csv文件中。 This是网站,我想将结果表下载到csv文件中。样本输入可以是
RNA,cancer,biotin
DNA,lungs,biotin
我的输入csv文件看起来像上面提到的,我想输入RNA,DNA一次,得到结果,保存到csv文件,然后癌症,肺,保存结果到相同的csv文件,然后生物素(不是生物素,生物素)并将结果保存到csv文件中。到目前为止我已经尝试过了。
from selenium import webdriver
import os
import time
import sys
from selenium.webdriver.common.keys import Keys
from urllib2 import Request
import urllib2
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir", "path")
fp.set_preference("browser.download.manager.closeWhenDone", True)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/x-gzip gz")
browser = webdriver.Firefox(firefox_profile=fp)
browser.get("http://bioportal.bioontology.org/annotator")
popup= browser.find_element_by_class_name("close").click()
sinput = browser.find_element_by_id("annotation_text")
sinput.send_keys("cancer")
ontology = browser.find_element_by_class_name("default")
ontology.click()
ontology.send_keys("National Cancer Institute Thesaurus")
ontology.send_keys(Keys.RETURN);
submit = browser.find_element_by_id('annotator_button')
submit.click()
time.sleep(30)
答案 0 :(得分:1)
我这样做了,其中一部分取自here
time.sleep(2)
clickme = browser.find_elements_by_xpath('//*[@id="annotations"]')
data = []
for tr in clickme:
tds=tr.find_elements_by_tag_name('td')
if tds:
data.append([td.text for td in tds])
def chunks(l, n):
for i in xrange(0, len(l), n):
yield l[i:i+n]
with open('out.csv', 'wb') as csvfile:
csvwriter = csv.writer(csvfile)
for a_chunk in chunks(data[0], 6):
csvwriter.writerow(a_chunk)
browser.close()