【发布时间】:2012-11-24 09:50:32
【问题描述】:
我需要爬取一个特定的网站以挖掘出一些相关信息。 看起来首先我必须搜索该站点以获取相应的 URL,当被抓取时会为我提供详细信息。
假设,搜索 url 是
example.com/city1/search.html?cat=category1&locality=location1&page=1
这意味着,位置和页面可以有city2,city3等类别可以是category2,category3等。
我已经收集了所有的城市,类别,位置和页面可以递增直到结果不为空。
获得所有网址后,我将不得不从每个网址中挖掘出详细信息。我已经看到某些必要的信息作为 javascript 的一部分提供。
现在,我已经看到了 node.io、jsdom 和 phantomjs。我也看过yql。 由于我是新手,请根据您的经验建议我,在这种情况下哪个是理想的。
如果你能举出一些例子,那就太棒了。
【问题讨论】:
-
不清楚您要做什么。当您似乎只想通过 HTTP 请求一些资源时,很难向您提出任何建议。
-
嗯,目标是从详细的 URL 中获取商家的地址、联系方式等。这些业务可以是类别、“餐厅”、“客厅”、“电子”等。
-
您想解析 URL 并访问查询字符串中的数据?或者,您想在该 URL 处获取资源,并解析返回的内容?请更清楚、更具体。
-
这是第二个。获取 URL 并解析内容。
-
您可以使用
http.request(nodejs.org/api/http.html#http_http_request_options_callback) 发出请求。就解析返回数据而言,这取决于响应格式。如果您使用的是 Yahoo! 的 API,通常可以为响应指定 JSON,然后使用JSON.parse()将其转换为对象。
标签: node.js phantomjs web-crawler jsdom node.io