- A+
所属分类:系统文档
爬虫采用JavaScript编写, 下面以雷锋网为例, 来看一下我们的爬虫长什么样子:
var configs = {
domains: ["leiphone.com"],
scanUrls: ["http://www.leiphone.com/search?s=%E5%B1%B1%E5%AF%A8%E6%89%8B%E6%9C%BA&site=article"],
contentUrlRegexes: ["http://www\\.leiphone\\.com/news/\\d+/.+\\.html"],
helperUrlRegexes: ["http://www\\.leiphone\\.com/search\\?s=%E5%B1%B1%E5%AF%A8%E6%89%8B%E6%9C%BA&site=article(&page=\\d+)?"],
fields: [
{ // 抽取内容页的文章标题
name: "article_title",
selector: "//h1[contains(@class,'headTit')]",
required: true
},
{ // 抽取内容页的文章内容
name: "article_content",
selector: "//div[contains(@class,'lph-article-comView')]",
required: true
},
{ // 抽取内容页的文章发布日期
name: "article_publish_time",
selector: "//td[contains(@class,'time')]",
required: true
},
{ // 抽取内容页的文章作者
name: "article_author",
selector: "//div[contains(@class,'name')]//span",
required: true
}
]
};// afterExtractField回调函数: 将爬取到的时间转换为时间戳, 以便发布数据时用configs.afterExtractField = function(fieldName, data, page) { if (fieldName == "article_publish_time") { var timestamp = Date.parse(data); return isNaN(timestamp) ? "0" : timestamp/1000 + "";
} return data;
};var crawler = new Crawler(configs);
crawler.start();
爬虫的整体框架就是这样, 首先定义了一个configs对象, 里面设置了待爬网站的一些信息, 然后通过调用var crawler = new Crawler(configs);和crawler.start();来配置并启动爬虫.
configs对象如何定义, 后面会作详细介绍.
- 我的微信
- 这是我的微信扫一扫
-
- 我的微信公众号
- 我的微信公众号扫一扫
-




