2015-06-15 24 views
-1

Selemium使用瀏覽器打開頁面並獲取內容。但在我的azure服務器(基於命令行)上,我無法使用chrome或firefox。那麼在azure服務器上使用基於python的selenium代碼有什麼選擇。在天青服務器上使用基於selenium的Python代碼

我看了http://phantomjs.org/一個無頭瀏覽器。但我想這是JavaScript,所以我需要在JS中轉換python代碼。

還有其他更好的選擇嗎?

代碼片段:

driver = webdriver.Chrome() 
def getVideoTrend(self, item): 
    driver.get(item['link']) 
    element = WebDriverWait(driver, 20).until(lambda driver: driver.find_elements_by_class_name('yvp-main')) 
    self.yahoo_video_trend = [] 
    for s in driver.find_elements_by_class_name('yvp-main'): 
     print "Processing link - ", item['link'] 
     trend = item 
     trend['video_link'] = s.find_element_by_tag_name('video').get_attribute('src') 
     print s.find_element_by_tag_name('video').get_attribute('src') 
     self.yahoo_video_trend.append(trend) 

回答

0

使用requests您的瀏覽需求和BeautifulSoup4解析

+0

@ user464224:謝謝,但youtube,谷歌,雅虎沒有給出使用請求的整個HTML,所以這並沒有幫助 – nlper

0

那麼,什麼是使用基於Python代碼硒蔚藍 服務器上的另類嘗試。

我可以知道您是否在使用Azure Web App?根據我的理解,Azure Web App不允許我們在服務器上安裝自定義軟件。所以在這種情況下,您可能需要使用虛擬機。基於Windows的虛擬機已預先啓用了GUI,因此您只需使用遠程桌面登錄到服務器並安裝瀏覽器(如果您不想使用默認IE)。對於Linux服務器,您可以安裝桌面,然後安裝瀏覽器。請參閱http://blogs.technet.com/b/uktechnet/archive/2013/11/12/running-a-remote-desktop-on-a-windows-azure-linux-vm.aspx以查看此說明是否有幫助。