2017-01-02 58 views
0

我目前正在使用Scrapy刮一個網站。我也使用Splash渲染該網站。通過閃去後響應返回的HTML是按Scrapy和飛濺單頁反應網站後的鏈接

<li data-link="shoppingSearch" class="menu-list-item__body--item" 
data-reactid=".0.1.1.0.1.$1.1.0.$0">Book</li> 

我可以創建一個選擇拉數據鏈路或reactid,但我不知道如何請點擊此鏈接。我的最終目標是獲取表單並向其提交數據。

+0

有附着到執行導航該節點JS的onClick處理程序。您必須模擬該節點上的實際點擊。 –

+0

感謝您的信息,可以用scrapy完成嗎?我會研究它,這給了我一個開始的地方。 – Diesel

+0

也許你可以看到它所導航的URL是什麼,並查看該URL中的動態數據來自哪裏(可能是某個web api調用收到的列表中的某個ID)。然後你可以用這種方式來嘲笑導航操作。不是一個通用的解決方案,但可能是最低的水平,你可以去。 –

回答

0

如果您正在使用splash的http api,或者在運行lua代碼時調用splash:wait()函數,則可以嘗試增加wait參數。

例如爲:

curl 'http://localhost:8050/render.html?url=http://domain.com/page-with-javascript.html&wait=3' 

見飛濺render.html endpoint argumentssplash:wait()

+0

我不能完全理解,我很確定這個頁面是完全加載的。我將等待時間增加到5秒,並且仍然按照上述方式獲取鏈接。 – Diesel