- 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
对象如何定义, 后面会作详细介绍.
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫