2015-10-05 93 views
0

我使用請求從http://fplstatistics.co.uk/Home/Events得到一個JSON文件,而要做到這一點,我正在使用的典型您如何知道XHR請求需要哪些參數?

response = requests.get(url, params=params, headers=headers) 

這裏params是約35行,這是相當大的一本字典,我想。您可以通過轉到網絡面板 - > XHR - >標題 - >查詢字符串參數來查看這些參數。我想知道param字典是否真的需要包含所有的查詢字符串參數,如果不是,你怎麼知道哪些是需要哪些不是?

回答

0

沒有通用的答案,因爲它完全是網站特定的。您可以嘗試&失敗,嘗試&失敗,直到獲得所需參數的列表。或者,您可以停止使用真正的瀏覽器來思考它。

實施例(使用selenium和無頭PhantomJS瀏覽器):

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.support.wait import WebDriverWait 


driver = webdriver.PhantomJS() 
driver.get("http://fplstatistics.co.uk/Home/Events") 

wait = WebDriverWait(driver, 10) 
wait.until(EC.visibility_of_element_located((By.ID, "myDataTable"))) 

for title in driver.find_elements_by_css_selector("div[style*=underline]"): 
    print(title.text) 

打印:

Player Price Changes 
Player Status Changes 
+0

我想出的是,唯一需要的參數是'iDisplayLength',但是我有另外一個問題。假設我想獲得10月5日所做的所有更改,例如我可以將「iDisplayLength」設置爲30,所以我保證(我不會在1天內發生超過30次更改,所以它不是真的一個保證,但實際上是)它包括10月5日所做的所有更改,然後過濾出那些不是的。但是,如何獲取當前日期所做的更新呢?有任何想法嗎? – Esoemah

相關問題