我希望抓住这个网站:http://www.machinerytrader.com/list/list.aspx?ETID=1&catid=1002
我最初尝试使用PHP来执行此操作,但发现正文html已加密。因此看起来这个html最好使用像phantomjs这样的无头webkit进行访问。
我的问题是一般性问题:在PhantomJS中抓取这些数据然后将这些数据存储在MySQL中的最佳方法是什么?
我还没有看到任何在线转换的例子,所以没有什么可以解决的。
更新:
经过一些阅读,我认为使用CasperJS及其下载功能在本地存储原始html然后只需稍后使用PHP解析它可能是有意义的...但这种方法非常迂回...
答案 0 :(得分:3)
获得信息后,您只需调用由您控制的网站,并使用帖子请求将数据存储在数据库中
casper.then(function(){
casper.open("www.mipage.com/saveIntheDBonPost.php", {
method: 'post',
data:{
'title': ''+globalInfo.title,
'body': ''+globalInfo.body
}
});
})
答案 1 :(得分:1)
除非您绝对无法从PHP处理HTML,否则我建议您将PhantomJS或CasperJS输出XML / JSON输出到文件,然后从PHP解析XML / JSON。使用我过去在PhantomJS中构建的scraper,我已经处理了所有HTML并将相关数据存储到对象中,然后我将其转换为XML / JSON。根据我的经验,JSON比XML更容易消耗,重量更轻。由于PHP具有json_decode功能,所以在PHP中使用它也非常容易。