我試圖使用BASH中的程序cURL來下載網頁的源代碼。當頁面使用比簡單HTML更復雜的編碼時,嘗試下載頁面代碼時遇到困難。比如我想用下面的命令來查看以下頁面的源代碼:cURL - 掃描網站的源代碼
curl "http://shop.sprint.com/NASApp/onlinestore/en/Action/DisplayPhones?INTNAV=ATG:HE:Phones"
然而這並沒有匹配的Firefox生成的源代碼的結果,當我點擊「查看源文件」。我相信這是因爲頁面上有Javascript元素,但我無法確定。
舉例來說,我不能這樣做:
curl "http://shop.sprint.com/NASApp/onlinestore/en/Action/DisplayPhones?INTNAV=ATG:HE:Phones" | grep "Access to 4G speeds"
雖然這句話在Firefox的來源顯然是找到。我嘗試翻閱手冊頁,但是我對這個問題的瞭解不夠充分,無法找出可能的解決方案。
一個可取的答案將包括爲什麼這不按我期望的方式工作,以及從Linux機器使用curl或其他工具可執行文件的問題的解決方案。
編輯:
在下面的建議,我也包括在內,但沒有成功一個用戶代理切換:
curl "http://shop.sprint.com/NASApp/onlinestore/en/Action/DisplayPhones?INTNAV=ATG:HE:Phones" -A "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3" | grep -i "Sorry"
權埃沃下 - 更多視圖\t HTC EVO™4G *接入到4G的速度是比3G高達10倍的速度更快 *雙模3G/4G設備,獲得可靠的3G – Ryan 2010-06-19 02:09:45
謝謝噸!!如果你有第二個問題,我的最後一個問題是,如果這個cookie會持續足夠長的時間來運行一段時間的腳本?或者我將不得不再次自動下載這個cookie? – Ryan 2010-06-19 02:27:44