Python自動(dòng)化(一)使用Selenium+PhantomJS爬取電影下載鏈接
置頂?2017年09月12日 17:32:40?Gavinsun?閱讀數(shù):1109
?版權(quán)聲明:本文為博主原創(chuàng)文章蔗怠,未經(jīng)博主允許不得轉(zhuǎn)載墩弯。https://blog.csdn.net/gavinsun/article/details/77947751
采集第一頁中所有電影的名稱和迅雷鏈接
#coding:utf-8fromselenium import webdriverimport codecsdriver = webdriver.PhantomJS()driver.get("http://www.poxiao.com/mtype5.html")movies = driver.find_elements_by_xpath('//*/li/h3/a')cur_window = driver.current_window_handle#記錄當(dāng)前瀏覽器標(biāo)簽#遍歷每部電影,并把電影的名字和對(duì)應(yīng)的迅雷鏈接寫入文件中寞射。f = codecs.open("movies.csv",'w',encoding='utf-8')formovieinmovies:try:? ? ? ? f.write(movie.text)#輸出電影的名字f.write(',')? ? ? ? movie.click()#點(diǎn)擊電影渔工,進(jìn)入電影詳情頁面#在詳情頁中找到迅雷鏈接total_tab = driver.window_handles#獲得當(dāng)前瀏覽器打開的所有標(biāo)簽driver.switch_to.window(window_name=total_tab[1])#轉(zhuǎn)到詳情頁thunder_link = driver.find_element_by_xpath('.//*/td[@class="sebc3"]/a')? ? ? ? f.write(thunder_link.get_attribute('href'))? ? ? ? driver.close()? ? ? ? driver.switch_to.window(window_name=cur_window)? ? ? ? f.write("\n")? ? except Exception,e:? ? ? ? continuef.close()driver.quit()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
采集科幻片分類下的所有電影的名稱和對(duì)應(yīng)的迅雷鏈接。
# coding:utf-8fromseleniumimportwebdriverimportcodecsdriver = webdriver.PhantomJS()driver.get("http://www.poxiao.com/mtype5.html")cur_window = driver.current_window_handle# 記錄當(dāng)前瀏覽器標(biāo)簽f = codecs.open("movies.csv",'w', encoding='utf-8')whileTrue:printu"開始下載", driver.current_urlprintu"當(dāng)前共打開{total_tab}個(gè)標(biāo)簽頁桥温。".format(total_tab=len(driver.window_handles))? ? movies = driver.find_elements_by_xpath('//*/li/h3/a')# 遍歷每部電影引矩,并把電影的名字和對(duì)應(yīng)的迅雷鏈接寫入文件中。formovieinmovies:? ? ? ? f.write(movie.text)# 輸出電影的名字printmovie.text? ? ? ? f.write(',')? ? ? ? movie.click()# 點(diǎn)擊電影侵浸,進(jìn)入電影詳情頁面# 在詳情頁中找到迅雷鏈接total_tab = driver.window_handles# 獲得當(dāng)前瀏覽器打開的所有標(biāo)簽driver.switch_to.window(window_name=total_tab[1])# 轉(zhuǎn)到詳情頁try:? ? ? ? ? ? thunder_link = driver.find_element_by_xpath('.//*/td[@class="sebc3"]/a')? ? ? ? ? ? f.write(thunder_link.get_attribute('href'))? ? ? ? ? ? f.write("\n")exceptException, e:printu"獲得電影鏈接失敗旺韭。"printdriver.current_urlfinally:? ? ? ? ? ? driver.close()? ? ? ? ? ? driver.switch_to.window(window_name=cur_window)# 找下一頁,如果找不到掏觉,breaktry:? ? ? ? next_page = driver.find_element_by_link_text("下一頁")exceptException, e:printu"沒有找到下一頁"printdriver.current_urlbreaknext_page.click()f.close()driver.quit()