Atitit 爬虫 node版 attilax

1.1. 貌似不跟python压实,,java的webmagic压实,,什么爬虫框架也没有,只好自己写了。

查了百度三爷资料也没有。都是自己写。。

1.2. 爬虫算法 调用http模块获取内容。

算去时间戳作为文件名tag部分。。

调用Io模块,保存为文件

1.3. C:\0workspace\atiplat_spider\com.attilax\spider\orgSpd.js

/**
 * Created by Administrator on 2017/1/14.
 */
var sys = require("util");
var fs = require('fs');
sys.log("Hello world");

var https = require('http');

function getUrls()
{
    var urls=new Array();
    for(var i=1;i<100;i++)
    {
        var reqdata_str="orgName=&corporateType=1&managerDeptCode=®istrationNo=&unifiedCode=&order=registrationDate&legalName=&page_flag=true&pagesize_key=result&goto_page=next¤t_page=@page@&total_count=1938&to_page=";
        reqdata_str=reqdata_str.replace("@page@",i);
        urls.push(reqdata_str );
    }
    return urls;
}

//main
var urls=getUrls();
var cnt=0;
for(idx in urls)
{
    var url=urls[idx];
    console.log("url:"+url);
    cnt++;
    req(url,cnt);
}
function req(reqdata_str,page)
{

var reqData={
    order:'registrationDate',
    corporateType:'1',
    current_page:'4',
    page_flag:true,
    pagesize_key:'result',
    goto_page:'next',
    total_count:1938,
    orgName:'',
    managerDeptCode:'',
    registrationNo:'',
        unifiedCode:'',
    legalName:'',
    to_page:''
    
};
var data_str=  JSON.stringify (reqData);
sys.log("--reqData.length:"+data_str.length);
//var reqdata_str="orgName=&corporateType=1&managerDeptCode=®istrationNo=&unifiedCode=&order=registrationDate&legalName=&page_flag=true&pagesize_key=result&goto_page=next¤t_page=3&total_count=1938&to_page=";

var post_options = {
    host: 'www.chinanpo.gov.cn',
    port: '80',
    path: '/search/searchOrgList.do?action=searchOrgList',
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
         'Content-Length':reqdata_str.length,
        'Origin':'http://www.chinanpo.gov.cn',
        'Referer':'http://www.chinanpo.gov.cn/search/searchOrgList.do?action=searchOrgList',
       'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36',
        'Upgrade-Insecure-Requests':1
    //    'Cookie':'chinanpojsessionid=C5B432F4A8100CFA5803EA018A8B4AEC; _gscu_815174165=84382222mstxh112; _gscs_815174165=t84402470rmeenn15|pv:2; _gscbrs_815174165=1; Hm_lvt_3adce665674fbfb5552846b40f1c3cbc=1484382201; Hm_lpvt_3adce665674fbfb5552846b40f1c3cbc=1484403650'
    
}
};  //poost opt end

var post_req_ClientRequest=https.request(post_options, function(res) {
    console.log("statusCode: ", res.statusCode);
 //   console.log("headers: ", res.headers);
    
var html = '';
    res.on('data', function(d) {
      //  process.stdout.write(d);
        
html += d;

});

res.on('end', function(data) {
        save(html,page);
    })

}).on('error', function(e) {
    console.error(e);
});

// post the data
post_req_ClientRequest.write(reqdata_str);
//https.write(reqData);
post_req_ClientRequest.end();

}
function getTimestamp()
{
    var timestamp = (new Date()).valueOf();
    return     timestamp;
}

function save(html,page)
{
    console.log('start save!')
    // ��ץȡ�����ݱ��浽�����ļ���
    
fs.writeFile('c:\\00orgSave\\index_P'+page+"_"+getTimestamp()+'.html', html, function(err) {
        if (err) {
            console.log('���ִ���!')
        }
        console.log('�������index.html��')
    })

}

作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher 王中之王King of Kings 虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak

简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴

全名::Emir Attilax Akbar bin Mahmud bin  attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当  阿尔 拉帕努伊

常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

头衔:uke总部o2o负责人,全球网格化项目创始人,

uke宗教与文化融合事务部部长, uke宗教改革委员会副主席

,Uke部落首席大酋长,

uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,

uke 首席cto  奶牛科技首席cto , 软件部门总监 技术部副总监  研发部门总监主管  产品部副经理 项目部副经理

uke波利尼西亚区大区连锁负责人 汤加王国区域负责人。

uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,

uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人

Uke软件标准化协会理事长理事长 uke终身教育学校副校长

Uke 数据库与存储标准化协会副会长 uke出版社编辑总编

Uke医院 与医学院方面的创始人

Uke 户外运动协会理事长  uke交友协会会长

转载请注明来源:attilax的专栏  ?http://www.cnblogs.com/attilax/

--Atiend

Atitit 爬虫 node版 attilaxA的更多相关文章

  1. 区划代码 node 版爬虫尝试

    前言 对于区划代码数据,很多人都不会陌生,大多公司数据库都会维护一份区划代码,包含省市区等数据.区划信息跟用户信息息息相关,往往由于历史原因很多数据都是比较老的数据,且不会轻易更改.网上也有很多人提供 ...

  2. node爬虫进阶版

    手写了一个方便爬虫的小库: const url = require('url') const glib = require('zlib') //默认头部 const _default_headers ...

  3. 百度翻译爬虫-Web版(自动生成sign)

    # 面向对象 # 百度翻译 -- 网页版(自动获取token,sign) import requests import js2py import json import re class WebFan ...

  4. 用Python写网络爬虫 第二版

    书籍介绍 书名:用 Python 写网络爬虫(第2版) 内容简介:本书包括网络爬虫的定义以及如何爬取网站,如何使用几种库从网页中抽取数据,如何通过缓存结果避免重复下载的问题,如何通过并行下载来加速数据 ...

  5. python爬虫beta版之抓取知乎单页面回答(low 逼版)

    闲着无聊,逛知乎.发现想找点有意思的回答也不容易,就想说要不写个爬虫帮我把点赞数最多的给我搞下来方便阅读,也许还能做做数据分析(意淫中--) 鉴于之前用python写爬虫,帮运营人员抓取过京东的商品品 ...

  6. 百度图片爬虫-python版-如何爬取百度图片?

    上一篇我写了如何爬取百度网盘的爬虫,在这里还是重温一下,把链接附上: http://www.cnblogs.com/huangxie/p/5473273.html 这一篇我想写写如何爬取百度图片的爬虫 ...

  7. windows 下node版管理

    linux 下的node 多版本管理有nvm,windows 下同样有这样的工具gnvm 安装步骤(无node环境): 1.下载并解压缩 gnvm.exe 保存到任意文件夹,并将此文件夹加入到环境变量 ...

  8. SuperSpider(简书爬虫JAVA版)

    * 建站数据SuperSpider(简书)* 本项目目的:* 为练习web开发提供相关的数据:* 主要数据包括:* 简书热门专题模块信息.对应模块下的热门文章.* 文章的详细信息.作者信息.* 评论区 ...

  9. Node教程——API接口开发(Node版的CRUD通用接口的搭建)(MangoDB+Express_Version2)

    1. 概述 时间跨度有点大,之前就跟大家唠嗑过一些知识点,也开启了一个Node书写一个后台api项目的开始,出于各种原因,迟迟没有更新博文.现在我把这个坑填上,如果你还有阅读过我之前的文章,我建议你先 ...

随机推荐

  1. Spring MVC的Post请求参数中文乱码的原因&处理

    一.项目配置: Spring 4.4.1-RELEASE Jetty 9.3.5 JDK 1.8 Servlet 3.1.0 web.xml文件中没有配置编解码Filter 二.实际遇到的问题:客户端 ...

  2. 〖Linux〗让Kubuntu的“启动栏”与Win7“任务栏”的界面和功能一样

    先来展示一下我的桌面效果图: === 是否发现这与Windows 7任务栏非常相似?哈哈- === 背景: 玩久了Unity,想换个品味,就把Ubuntu安装了KDE桌面,发现甚是不错: 这里教大家怎 ...

  3. 【Linux】找出文件之间的差异

    使用命令comm可以找出2个文件之间的差异 现在有文件如下: Linux:/qinys # cat A.txt apple lemon onion orange pear Linux:/qinys # ...

  4. MySQL与OLAP:分析型SQL查询最佳实践探索

    搞点多维分析,糙快猛的解决方式就是使用ROLAP(关系型OLAP)了.数据经维度建模后存储在MySQL,ROLAP引擎(比方开源的Mondrian)负责将OLAP请求转化为SQL语句提交给数据库.OL ...

  5. 解决FatalThrowableError in EloquentUserProvider.php line 126: Class '\App\User'问题

    解决方法:http://stackoverflow.com/questions/28516454/laravel-5-user-model-not-found 总结:是因为我把app下的User移动到 ...

  6. Oracle 错误总结及问题解决 ORA

    参考地址 ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常.ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数O ...

  7. ios core plot设置xy坐标

    #import "ViewController.h" @interface ViewController () //要绘制基于x,y轴的图形 @property(nonatomic ...

  8. numpy二分查找

    a = np.array([1, 2, 2, 3]) print(np.searchsorted(a, 0)) # 0 print(np.searchsorted(a, 1)) # 0 print(n ...

  9. memcached内存管理机制[未整理]

    memcached默认采用的是Slab Allocator的机制分配管理内存的,在此之前,内存的分配是通过对所有的记录简单地进行malloc和free来进行的,但这种方式容易造成很多内存碎片,加重操作 ...

  10. git学习笔记(二)—— 创建版本库&&版本管理

    一.创建版本库 创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: mkdir gitHub_CXWcd gitHub_CXW git init Initialized empty G ...