2017-01-02 59 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