我是网络抓取的初学者,我曾尝试使用crawler4j进行静态网络。
现在,我想通过Nutch + hbase + solr尝试抓取此网站(https://weedmaps.com/brands), 但我甚至无法走得更远。
我曾尝试其他网站,例如http://sports.sina.com.cn, 我实际上可以将信息索引到solr。
我想知道https://weedmaps.com/brands,源页面没有明确的输出链接,我该如何抓取它? 任何人都可以建议工具或文章吗?或解释为什么荷兰人没有工作?
非常感谢你。
答案 0 :(得分:1)
问题是https://weedmaps.com/brands此页面是使用AngularJS构建的,这意味着它基本上是使用Javascript呈现的,并且实际存在的HTML非常差。如果您尝试使用curl,则可以看到源代码。默认情况下,Nutch仅依赖于服务器发送的HTML,并且不进行任何客户端处理(如解释js代码)。
您可以查看https://github.com/apache/nutch/tree/master/src/plugin/protocol-selenium并配置该协议。在这种情况下,Nutch将通过Selenium(能够解释javascript)管理HTML,然后它会将结束HTML发送到正常的Nutch管道。