2009-12-18 55 views
0

我想在下面的地址刮使用硒Verizon無線手機頁面:硒get_html_source

http://www.verizonwireless.com/b2c/store/controller?item=phoneFirst&action=viewPhoneOverviewByDevice&deviceType=Phones&sortOption=priceSort&lid=//global//phones+and+accessories//cell+phones

我得到的頁面,並使用get_html_source保存頁面,沒有任何問題,但是當我去查看我保存的所有關於手機的數據丟失的頁面。我似乎無法弄清楚爲什麼它沒有保存整個頁面。

在此先感謝您的幫助!

注意:這是在Python中完成的

+3

(忽略屏幕掃描的道德)你怎麼知道所有的數據丟失?你直接看過源代碼,還是隻是將它加載到瀏覽器中?另外,當我跟着你發佈的鏈接,我有一個查詢頁面詢問我的位置,沒有手機 - 你的腳本也一樣嗎? – slugster 2009-12-18 21:15:18

+1

我得到了與slugster一樣的頁面,詢問我的位置。此外,頁面還可能會從其他來源加載內容,並且HTML來源不包含電話詳細信息。取決於你想要做什麼,你可以捕獲頁面的屏幕截圖。 – 2009-12-21 09:44:50

回答

0

我訪問了您提供的URL。我手動看到源代碼並使用網絡驅動程序;沒有任何東西可以從源頭獲得。請注意,有時(也許大多數情況下)您在HTML頁面中看到的所有數據都無法使用其來源進行訪問;因爲現在的網頁設計師經常使用AJAX,並且源代碼幾乎沒有任何內容;就像這個充滿了JQuery和JS方法的頁面一樣。

這是我使用的代碼,也許它可以幫助你在其他情況下:

from selenium import webdriver 
browser = webdriver.Firefox() 

url = "http://www.verizonwireless.com/b2c/store/controller?&item=phoneFirst&action=viewPhoneOverviewByDevice&deviceType=Phones&sortOption=priceSort&lid=//global//phones+and+accessories//cell+phones" 

browser.get(url) 
html_source = browser.page_source 
print html_source 
0

而是打印它在屏幕嘗試捕獲在一個字符串,然後將其保存在一個記事本文件。由於屏幕緩衝區大小有限,因此它不會顯示所有頁面源內容。