Screen Scrape使用Phantomjs,结果存储在MYSQL中

时间:2012-10-13 18:11:07

标签: php mysql phantomjs casperjs

我希望抓住这个网站:http://www.machinerytrader.com/list/list.aspx?ETID=1&catid=1002

我最初尝试使用PHP来执行此操作,但发现正文html已加密。因此看起来这个html最好使用像phantomjs这样的无头webkit进行访问。

我的问题是一般性问题:在PhantomJS中抓取这些数据然后将这些数据存储在MySQL中的最佳方法是什么?

我还没有看到任何在线转换的例子,所以没有什么可以解决的。

更新:

经过一些阅读,我认为使用CasperJS及其下载功能在本地存储原始html然后只需稍后使用PHP解析它可能是有意义的...但这种方法非常迂回...

2 个答案:

答案 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中使用它也非常容易。