2016-12-10 31 views
0

我試圖報廢一個網站。 它包含一個足球網站,列出所有賽季的所有比賽。 所以我想放棄每一個季節 這裏的每場比賽的html頁面是網址:http://www.lfp.fr/ligue1/calendrier_resultat#sai=77&jour=1python urlopen:只有URL的第一個屬性是通過數據獲取的

什麼我做的是:

url = 'http://www.lfp.fr/ligue1/calendrier_resultat#' 
data = {'sai':77,'jour':10} 
url_values = urlencode(data) 
response = urlopen(url,url_values) 
soup = BeautifulSoup(response) 

賽是本賽季 和怨婦是周

問題是,給出的頁面只取決於'sai'值,無論'jour'等於什麼,它總是會返回相同的頁面,它將永遠是最後一週。

例如我可以輸入這樣一個網址: http://www.lfp.fr/ligue1/calendrier_resultat#sai=77OUHIGYGO8TY98 它永遠不會在意sai = 77後會發生什麼。 我不知道它爲什麼這樣做,我真的需要一些幫助。 謝謝

+0

服務器可能會在'#'後面忽略任何內容,所以如果這兩個參數中的任何一個在URL中發揮作用,我都會感到驚訝。但是我認爲你將這些數據作爲'url'的形式'POST',而不是簡單地獲取該URL。無論如何,它看起來像使用JavaScript動態加載內容,所以你應該使用硒。 Bonne的機會! –

+0

哦,我一直聽說硒。我想我也會考慮這個。非常感謝 ! –

回答

0

感謝其他一些stackoverflow帖子的答案,我終於解決了這個問題。

這裏的問題是#之後的URL部分是從未發送到服務器的客戶端部分。實際上,有一個真正的URL被髮送到服務器,我發現它使用Mozilla:你只需去開發人員工具並轉到網絡選項卡。滾動瀏覽左側的標籤元素,並查看每個元素,您將看到相應的「請求URL」。 如果您注意,您會發現正確的元素,其請求URL看起來像帶有#符號的URL。只需複製粘貼並解決問題即可。

相關問題