1. 程式人生 > >python爬蟲爬取ajax頁面

python爬蟲爬取ajax頁面

# coding:utf-8
# 引入selenium中的webdriver
import re
from urllib import urlretrieve
from selenium import webdriver
import time
# webdriver中的PhantomJS方法可以開啟一個我們下載的靜默瀏覽器。
# 輸入executable_path為當前資料夾下的phantomjs.exe以啟動瀏覽器

driver = webdriver.PhantomJS(executable_path="C:/Users/lance/Downloads/phantomjs-2.1.1-windows/bin/phantomjs"
) # 下載HTML def getHtml(url): # 使用瀏覽器請求頁面 driver.get(url) # 載入3秒,等待所有資料載入完畢 time.sleep(15) # 通過id來定位元素, # .text獲取元素的文字資料 html = driver.page_source.encode('utf-8', 'ignore') # 這個函式獲取頁面的html driver.get_screenshot_as_file(url+".png") # 獲取頁面截圖 print "Success To Create the screenshot & gather html"
# 關閉瀏覽器 return html # 從html中解析出圖片URL def getImgList(html): reg = r'src="(http://imgsrc.baidu.com/.*?\.jpg)"' imgre = re.compile(reg) htmld = html.decode('utf-8') imglist = imgre.findall(htmld) return imglist # 下載處理 def imgDownload(imglist,i): x=0 for
imgurl in imglist: print(imgurl) urlretrieve(imgurl,'E:/spider/beautiful/%s%s.jpg' % (x,i)) x+=1 url = 'http://tieba.baidu.com/p/2173159072#!/l/p' if __name__ == '__main__': for i in range(1,7): setUrl = url+str(i) print(setUrl) html = getHtml(setUrl) imgList = getImgList(html) print imgList imgDownload(imgList,str(i)) driver.close()