Scrapy与Web服务器上的Java内容

时间:2016-01-28 17:59:03

标签: python scrapy web-crawler

我想从显然使用javascript生成表格的网站上抓取内容(网站是oddsportal.com)。

我看到Scrapy无法加载动态内容,我读过selenium可以处理它,但我打算使用网络服务器。

有没有办法可以解析这个网站或获取动态请求并使用scrapy解析它?

例如,我想从此页面导入包含标题,匹配名称和赔率的完整表格

http://www.oddsportal.com/matches/handball/

2 个答案:

答案 0 :(得分:0)

根据我的理解,你有一个约束,你没有真正的显示。你仍然可以使用selenium - 有一个无头PhantomJS browser可以自动化,有一个选项可以在virtual display中工作,你可以使用远程selenium服务器docker-selenium

关于如何组合硒和scrapy有多个例子,例如:

并且还要检查scrapy-splash中间件是否足以满足您的使用案例。

答案 1 :(得分:0)

对于通过AJAX和Javascript使用动态内容的网站,我使用了PhantomJS。它并不需要打开浏览器,因为它本身就是一个完全可编写脚本的Web浏览器。 PhantomJS速度​​很快,包括对DOM处理,CSS选择器,JSON和Canvas等各种Web标准的本机支持。

如果您不是JavaScript忍者,那么您应该看CasperJS,它是通过PhantomJS编写的。它简化了定义完整导航场景的过程,并提供了有用的高级功能。

这是一个关于CasperJS如何运作的例子:

CasperJs and Jquery with chained Selects