这是当前的基本设置:Django上的Python 2,Selenium& BeautifulSoup,MqSQL(使用PhantomJS替换Chrome以减少内存使用)
我建立了一个搜索引擎。在用户输入搜索条件后,我根据查询填写表单,从所述源中搜索数据,使用我的算法对数据进行排序和组织,并将结果显示给用户。
由于向网站的服务器发送大量请求(超过1,000个)以检索数据(通常需要大约90秒才能开始显示搜索结果),这一点非常缓慢。
我现在正在改造我的刮刀,目的是缩短提交搜索和显示搜索结果之间的时间。我需要将所有这些请求组合成1或2个请求,并将我的scraper重新设计为尽可能服务器端(即使用xhr)以提高搜索结果的显示速度。
在某些网站上,我可以直接使用URL结构轻松操作表单,并且总体上避免使用Web驱动程序(除了afaik分页)。但是,我遇到过一些使用Struts(版本1和版本2)的网站,并且无法弄清楚要使用的端点。我根本没有接触过Java,并且不再熟悉它的结构。
有没有人知道如何使用服务器端操作而不是慢速Web驱动程序来抓取使用struts构建的网站?这甚至可能吗?