python2.7+selenium3 爬蟲腳本學(xué)習(xí)

啟動webdriver


Paste_Image.png

try+catch+except+finally的用法順序刻炒,可以在error拋出時候繼續(xù)運行腳本。

支持多種選擇器碎罚,推薦xpath或css選擇器
從xpath里傳遞變量的方法:http://stackoverflow.com/questions/32874539/using-a-variable-in-xpath-in-python-selenium

Paste_Image.png

不完善的爬cnki期刊數(shù)據(jù)的腳本:
主要作用是從xls文件中讀取期刊名字搜索欣硼,點擊后進入期刊具體信息頁面
利用xpath尋找2017年所到刊數(shù),返回寫入到新的xls文件中去映穗。

<pre>

coding=utf-8

import xlrd
import xlwt
import sys
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

def DragInfo(keyword):
elem=driver.find_element_by_id("txt_1_value1")
elem.send_keys(keyword)
elem.send_keys(Keys.RETURN)
try:
wait=WebDriverWait(driver,20)
wait.until(EC.presence_of_element_located((By.XPATH,'//[@id="searchResult"]/dl/dd[1]/div[2]/h1/a')))
result=driver.find_element_by_xpath('//
[@id="searchResult"]/dl/dd[1]/div[2]/h1/a')
# if driver.find_element_by_xpath('//*[@id="searchResult"]/div[1]/span[1]/em').text=='0':
# print 0
# raise e
result.click()
#####獲取當(dāng)前頁面句柄
default_window = driver.current_window_handle
#####獲取所有頁面句柄
handles = driver.window_handles
#####如果new_window句柄不是當(dāng)前句柄赫蛇,用switch_to_window方法切換
for handle in handles:
if handle != default_window:
driver.switch_to_window(handle)

    wait=WebDriverWait(driver,20)
    wait.until(EC.presence_of_element_located((By.XPATH,'//*[@id="2017_Year_Issue"]/dd')))
    result2017=driver.find_elements_by_xpath('//a[contains(@id,"2017")]')
    #version=driver.find_element_by_xpath("http://p[text()='出版周期']/span").text

    count=len(result2017)
    driver.close()
    #driver.switch_to_window(handles[0])

    return count
except Exception,e:
    print Exception,":",e
finally:
    driver.switch_to_window(handles[0])
    elem.clear()

def SolveXls():
menu=""
count=0
version=""
# info=[count,version]
data=xlrd.open_workbook('search_list.xls')
new_data=xlwt.Workbook(encoding='utf-8')
new_table=new_data.add_sheet('A Test Sheet')
table=data.sheets()[0]
nrows=table.nrows
ncols=table.ncols
search_list=table.col_values(0)
for i in range(nrows):
menu= table.row_values(i)[0]
print menu
count=DragInfo(menu)
new_table.write(i,0,menu)
new_table.write(i,1,count)
print count

new_data.save('result_test.xls')

if name == 'main':
driver = webdriver.Chrome()
driver.get("http://navi.cnki.net/")
elem=driver.find_element_by_id("txt_1_value1")
# reload(sys)
# sys.setdefaultencoding('utf8')
SolveXls()

</pre>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拂封,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌管行,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玫鸟,死亡現(xiàn)場離奇詭異缓熟,居然都是意外死亡,警方通過查閱死者的電腦和手機走诞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門副女,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蚣旱,你說我怎么就攤上這事碑幅。” “怎么了塞绿?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵沟涨,是天一觀的道長。 經(jīng)常有香客問我异吻,道長拷窜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任涧黄,我火速辦了婚禮篮昧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘笋妥。我一直安慰自己懊昨,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布春宣。 她就那樣靜靜地躺著酵颁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪月帝。 梳的紋絲不亂的頭發(fā)上躏惋,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機與錄音嚷辅,去河邊找鬼簿姨。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的扁位。 我是一名探鬼主播准潭,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼域仇!你這毒婦竟也來了刑然?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤暇务,失蹤者是張志新(化名)和其女友劉穎泼掠,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垦细,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡武鲁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蝠检。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沐鼠。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖叹谁,靈堂內(nèi)的尸體忽然破棺而出饲梭,到底是詐尸還是另有隱情,我是刑警寧澤焰檩,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布憔涉,位于F島的核電站析苫,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏衩侥。R本人自食惡果不足惜国旷,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一茫死、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧峦萎,春花似錦、人聲如沸爱榔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春悴能,著一層夾襖步出監(jiān)牢的瞬間雳灾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工谎亩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留炒嘲,地道東北人匈庭。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像阱持,于是被迫代替她去往敵國和親夭拌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容