2017-08-17 53 views
0

我寫一個劇本,我的僱主從他們自己的網站獲得某些數據。由於一長串原因,我需要從網站上獲取數據。我發現,有些數據是通過js調用來檢索的...獲取機械化和斜紋說話

回想起來,我應該去機械化,但我去斜紋(想我會有機會接觸,因爲斜紋自我描述爲用於機械化的薄包裝)該項目只是一個完成後的電話,我絕對不想重寫所有基於斜紋的機械化代碼。

我需要提交未附加到表單POST請求。所以我需要機械化(或類似的lib)。據斜紋的文檔,應該有一個機械化瀏覽器對象通​​過下面的代碼檢索:

#after logging in and successfully loading pages 
b = get_browser() 
mb = b._browser 

我得到: AttributeError: 'TwillBrowser' object has no attribute '_browser'

看着似乎斜紋的瀏覽器不使用機械化的瀏覽器了源?

所以我的問題是:

  1. 還是裏面有一個斜紋機械化瀏覽器。
  2. 如果是這樣,我該如何得到它?
  3. 如果沒有,我怎麼能得到從斜紋餅乾機械化,所以我可以使用這些Cookie的要求嗎?

理想我想這樣是這樣的:

cjar = 'cookies.yaml' 
save_cookies(cjar) 
mb.open(url, data=data, cookies=cjar) 

但我知道我需要的不僅僅是添加餅乾=文件名:)

+0

也 - 機械化不與Ajax調用幫助反正Ajax調用似乎使用JSON。 :( –

回答

0
  1. 一點更神奇的是還有一個在斜紋裏面機械化瀏覽器。
  2. 如果是這樣,我怎麼得到它?

不是,它不再被修成斜紋。雖然pip安裝斜紋仍然包括機械化斜紋的文件,斜紋的代碼從來沒有進口這些模塊。

  • 如果沒有,我怎麼能得到從斜紋餅乾機械化,所以我可以使用這些Cookie的要求嗎?
  • 從我讀過的內容來看,似乎沒有一個簡單或無足輕重的方法來做到這一點。 您可以從斜紋中保存_Cookies(但您無法自定義它們的保存方式)。機械化需要讀取cookie文件的幫助,當它加載它們時,需要忽略持久性等等。機械化確實可以讓你做到這一點,但是我還沒有找到任何可用的代碼。
    在我的情況下,更容易編寫,將登錄我在兩個斜紋和機械化的方法。