我正在用pythonseleenium编写一个爬行站点的代码,代码执行并打印我想要的详细信息,但是我想用python中的xlxswriter将其存储在excel文件中。这是我的密码
import xlsxwriter
import time
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
row = 0
col = 0
r=1
if r:
workbook = xlsxwriter.Workbook('fit1.xlsx')
worksheet = workbook.add_worksheet()
for i in range(1,3):
url = 'http://www.examble.com/kids//page-%d.html' % i
for j in range(1,36):
driver = webdriver.Chrome()
driver.get(url)
delay = 2 # seconds
try:
WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.ID,'religionToJs')))
print "Page is ready!"
except TimeoutException:
print "Loading took too much time!"
xpath = "//*[@id='wrapper']/main/div/div[2]/table/tbody/tr[%d]/td[1]/a" % j
elem = driver.find_element_by_xpath(xpath)
elem.click()
time.sleep(5)
name = driver.find_element_by_xpath('//*[@id="modal-name-info"]/div[1]/div[1]/table/tbody/tr[1]/td')
gender = driver.find_element_by_xpath('//*[@id="modal-name-info"]/div[1]/div[1]/table/tbody/tr[2]/td')
meaning = driver.find_element_by_xpath('//*[@id="modal-name-info"]/div[1]/div[1]/table/tbody/tr[3]/td')
religion = driver.find_element_by_xpath('//*[@id="modal-name-info"]/div[1]/div[1]/table/tbody/tr[4]/td')
orgin = driver.find_element_by_xpath('//*[@id="modal-name-info"]/div[1]/div[1]/table/tbody/tr[5]/td')
variants = driver.find_element_by_xpath('//*[@id="modal-name-info"]/div[1]/div[1]/table/tbody/tr[6]/td')
#workbook = xlsxwriter.Workbook('fit.xlsx')
#worksheet = workbook.add_worksheet()
worksheet.write(row, col,name.text)
worksheet.write(row, col+1,gender.text)
worksheet.write(row, col+2,meaning.text)
worksheet.write(row, col+3,religion.text)
worksheet.write(row, col+4,orgin.text)
worksheet.write(row, col+5,variants.text)
row = row + 1
if name.text:
print name.text
print row
else:
print "dfdfg"
driver.close()
#workbook.close()
#workbook.close()
在这段代码中,在某些条件下创建了excel。所以我在for循环的内部添加了创建excel的代码,for循环总是打开并正确地写入数据,但它删除了以前的数据,而不是将数据追加到新行中,解决方法是什么
目前没有回答
相关问题 更多 >
编程相关推荐