3

我正在寻找这个网站:http ://www.machinerytrader.com/list/list.aspx?ETID=1&catid=1002

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

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

我没有在网上看到任何这种转变的例子,所以没有什么可做的。

更新:

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

4

2 回答 2

3

获得信息后,您只需调用由您控制的站点并使用发布请求将数据存储在数据库中

casper.then(function(){
    casper.open("www.mipage.com/saveIntheDBonPost.php", {
        method: 'post',
        data:{              
            'title': ''+globalInfo.title,
            'body': ''+globalInfo.body
        }
    });
})
于 2013-12-11T21:15:54.910 回答
1

除非您绝对不能从 PHP 处理 HTML,否则我建议您让 PhantomJS 或 CasperJS 将 XML/JSON 输出到一个文件,然后从 PHP 解析 XML/JSON。使用我过去在 PhantomJS 中构建的爬虫,我已经处理了所有 HTML 并将相关数据存储到对象中,然后我将这些对象转换为 XML/JSON。根据我的经验,JSON 是最容易使用且比 XML 更轻量级的。由于 PHP 具有json_decode函数,因此在 PHP 中也非常容易使用。

于 2013-09-24T14:02:59.093 回答