1.Python環境搭建
Python安裝包下載
Python安裝
開發工具 pycharm
谷歌驅動,需要下載自己對應版本
2.代碼說明
from selenium import webdriver # 用來驅動瀏覽器的
import time
import xlwt
# 宣告兩個驅動(由于要反復抓兩個頁面)
driver = webdriver.Chrome(r'H:\chromedriver_win32\chromedriver.exe')
driver2= webdriver.Chrome(r'H:\chromedriver_win32\chromedriver.exe')
# 宣告匯出Excel 方法 name:匯出excel名稱 result:需要匯出的資料,二維陣列
def write_data_to_excel(name, result):
# 將sql作為引數傳遞呼叫get_data并將結果賦值給result,(result為一個嵌套元組)
result = result
print
result
# 實體化一個Workbook()物件(即excel檔案)
wbk = xlwt.Workbook(encoding='utf-8')
# 新建一個名為Sheet1的excel sheet,此處的cell_overwrite_ok =True是為了能對同一個單元格重復操作,
sheet = wbk.add_sheet('Sheet1', cell_overwrite_ok=True)
titlelist = ['姓名', '作業單位', '專業方向', '聯系電話']
for i in range(len(result)):
# 對result的每個子元素作遍歷,
if i == 0:
for x in range(len(titlelist)):
sheet.write(0, x, titlelist[x])
for j in range(len(result[i])):
y = i + 1
# 將每一行的每個元素按行號i,列號j,寫入到excel中,
print
result[i][j]
sheet.write(y, j, result[i][j])
# 以傳遞的name+當前日期作為excel名稱保存,
wbk.save(name+'.xls')
try:
#要抓取的網頁路徑
driver.get('http://www.xjtu.edu.cn/zmjs_tcgx.jsp?urltype=tree.TreeTempUrl&wbtreeid=1188&wbxjtucategoryid=39&wbtcflname=國家有突出貢獻的專家及中青年專家')
# 獲取頁面元素
tbody=driver.find_element_by_xpath("//td[@class='sublist']/table")
tr=tbody.find_elements_by_tag_name('tr')
list = []
# 封裝需要匯出的資料
for index in range(len(tr)):
if index>0:
trDetail=tr[index]
tdList=trDetail.find_elements_by_tag_name('td')
detail = []
detail.append(tdList[0].text)
detail.append(tdList[1].text)
detail.append(tdList[2].text)
try:
a=driver.find_element_by_xpath("//td[@class='sublist']/table/tbody/tr[" + str(index+1) + "]/td[1]/a")
links =a.get_attribute("href")
driver2.get(links)
tel=driver2.find_element_by_xpath("//div[@class='jiaoshi']/div[12]").text
tel=tel.split( )
if tel[0]!='聯系電話:':
detail.append(tel[0])
list.append(detail)
finally:
continue
write_data_to_excel("西安交通大學國家有突出貢獻的專家及中青年專家",list)
print(list)
time.sleep(3)
finally:
driver.close()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299509.html
標籤:其他
上一篇:JAVA SE 8安裝與配置
下一篇:嵌入式系統工程化設計4
