2011-06-07 32 views
0

我有一個網站,我試圖用Python & BeautifulSoup刮。網站本身可以用2種語言(泰文或英文)查看;您只需點擊屏幕右上角的泰國或英國國旗,數據就會以所選語言顯示。儘管如此,但我只能使用泰語(這是默認語言)來抓取數據,但我無法弄清楚如何使用英語獲取數據,因爲當您單擊泰國或英國國旗。查看頁面的源代碼,沒有與任何一個標誌關聯的href。我開啓了Firebug跟蹤,並嘗試搜索某些東西給我提供線索,但沒有找到任何東西(然後,爲了知道發生了什麼以及這是我的問題,您必須確切地知道要查找什麼)。無法在英文中抓取數據,請幫忙!

感謝, 格倫

+2

嗨格倫:請問網站是什麼? – 2011-06-07 16:37:24

+0

我會冒險猜測並說網站正在將您的語言偏好存儲在Cookie中。但是,很難確定沒有看到該網站。 – 2011-06-07 16:41:58

回答

2

你還沒說什麼該網站是如此不可能回答是肯定的。但有幾點建議。如果點擊標誌時URL不變,則:

a)英文已經在html文檔中,相關內容正在用javascript切換 b)英文內容正在通過ajax請求和JavaScript正在用於編輯DOM c)頁面完全重新加載英文內容。

大概在所有這些情況下,語言首選項必須存儲在服務器端的會話或客戶端的cookie中。

第一個測試是嘗試關閉cookie和JavaScript,看看會發生什麼。然後用cookies,js重新使用Firebug或Firefox查看正在發出的網絡請求。

+0

理查德,該網站是http://www.tops.co.th/topsshoponline/ – Glenn 2011-06-07 17:30:42

1

這裏的餅乾:

Cookie verify=test; LangName=th; ASP.NET_SessionId=ylulkp45qpjq2b453nurlp55; _cbclose=1; _cbclose30246=1; _uid30246=66B70BE9.1; _ctout30246=1 

如果您更改語言,它設置langname聲明= EN。

urllib2可以與cookielib一起使用來啓用存儲和重用cookie。

相關問題