selenium使用 如何用python抓取js生成的數據?
如何用python抓取js生成的數據?有幾種方法,如phantom JS、WebKit、selenium等。如果您對爬行的性能沒有任何要求,請嘗試selenium或Watir。Web自動化測試腳本可以
如何用python抓取js生成的數據?
有幾種方法,如phantom JS、WebKit、selenium等。如果您對爬行的性能沒有任何要求,請嘗試selenium或Watir。Web自動化測試腳本可以很好地使用它做很多事情。使用瀏覽器執(zhí)行JS,然后從dom獲取數據。另一方面,如果你知道JS是通過Ajax或者API獲取數據的,你可以直接獲取數據源,得到JSON或者XML,然后處理數據
這個問題真的很麻煩。以前沒有解決過。雖然selenium可以執(zhí)行JS腳本,但是它不能讀取返回值,或者JS獲得的返回值不能與Python交互,這也是一種異常的痛苦。我能想到的是,JS模擬Ajax操作,獲取返回值,然后用JS將返回值寫入web頁面。您可以在代碼之后添加一個新元素來編輯返回值(以防止特殊字符影響解析),將其寫入元素的值,然后使用selenium的find_u2;element定位元素并獲取值。
selenium如何將js定位value取到?
1、看相應的JS代碼,用Python獲取原始數據,模仿JS編寫相應的Python代碼。
2、通過接口API獲取數據,直接使用Python獲取和處理接口數據。
三。終極方法。使用selenium和phantom-JS執(zhí)行web頁面的JS代碼,獲取數據。這種方法可以得到100%的數據,但速度太慢。
如何用python抓取js生成的數據?
應使用Get屬性方法:驅動程序。查找元素按xpath(“//*[@id=”keyuucompany$value“]”)。getuAttribute(“value”)一定能解決您的問題。getattribute獲取標簽的屬性值:您還可以獲取img、a、table和input的屬性值
如果您對爬網性能沒有任何要求,請嘗試selenium或Watir。Web自動化測試腳本可以很好地使用它做很多事情。使用瀏覽器執(zhí)行JS,然后從dom獲取數據。另一方面,如果您知道JS是通過Ajax或API獲取數據的,那么直接轉到數據源,獲取JSON或XML,然后處理數據