返回顶部
首页 > 资讯 > 前端开发 > html >node.js如何抓取代理ip
  • 663
分享到

node.js如何抓取代理ip

2024-04-02 19:04:59 663人浏览 安东尼
摘要

这篇文章主要介绍node.js如何抓取代理ip,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!node.js实现抓取代理ip 主要文件:index.js const chee

这篇文章主要介绍node.js如何抓取代理ip,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

node.js实现抓取代理ip

主要文件:index.js


const cheerio=require('cheerio');
const fetch =require('node-fetch');
const Promise=require('bluebird');
let monGoose=require('mongoose');

Promise.promisifyAll(mongoose);
let Schema=mongoose.Schema;
mongoose.connect('mongoDB://localhost:27017/ipproxypool');
let IPpool=new Schema({
  ip:{type:String,unique:true}
})
let Ipproxy=mongoose.model('IP',IPpool);

function fetchUrl(url){
  fetch(url,{
    method:'get',
    headers:{
    }
  })
  .then(res=>res.text())
  .then(body=>{
    let $=cheerio.load(body);
    let length=$('#list table tbody').find('tr').length;
    for (let i=0;i<length;i++){
    let ipaddress= $('#list table tbody').find('tr').eq(i).find('td').eq(0).text() ;
    let port = $('#list table tbody').find('tr').eq(i).find('td').eq(1).text();
    console.log(`IP:${ipaddress}:${port}`);
    let ip=`${ipaddress}:${port}`
    let ippool=new Ipproxy({
      ip:ip
    })
    ippool.save();
    }
  })
}

var sleep = function (time) {
  return new Promise(function (resolve, reject) {
    setTimeout(function () {
      resolve('ok');
    }, time);
  })
};
const pageNumber=10;
var start = async function(){
  for(let j=1;j<pageNumber;j++){
     console.log(`当前是第${j}次等待..`);
    fetchUrl(`Http://www.kuaidaili.com/free/inha/${j}/`);
    await sleep(1500);
  }
}
start();

包支持 : package.json

{
 "name": "demo-4-ipproxypool",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1"
 },
 "author": "false-l",
 "license": "",
 "devDependencies": {
  "babel-preset-es2015": "^6.24.1",
  "babel-preset-React": "^6.24.1",
  "babel-preset-stage-3": "^6.24.1"
 },
 "dependencies": {
  "babel-core": "^6.24.1",
  "bluebird": "^3.5.0",
  "cheerio": "^0.22.0",
  "koa": "^2.2.0",
  "koa-router": "^7.1.1",
  "mongoose": "^4.9.6",
  "node-fetch": "^1.6.3"
 }
}

本地需要安装mongodb数据库,用于存储抓取到的ip,目前还未实现ip验证。写这个主要是处于好奇。

上面的代码就可以实现抓取ip代理网站的ip并存到mongodb数据库中。

下面在放出一个基于koa2的api接口的简易服务器实现

server

const Promise=require('bluebird');
let mongoose=require('mongoose');
const koa=require('koa');
const app=new koa();
var router = require('koa-router')();
Promise.promisifyAll(mongoose);
let Schema=mongoose.Schema;
mongoose.connect('mongodb://localhost:27017/ipproxypool');
let IPpool=new Schema({
  ip:{type:String,unique:true}
})
let Ipproxy=mongoose.model('IP',IPpool);

app.use(async (ctx, next) => {
 await next();
 var data=await Ipproxy.find({},function(err,ips){
  var ipmap=[];
   ips.forEach(function(ip){
     ipmap[ip._id]=ip;
     //console.log(ip)
   });
 })
 var map=data.map(ip=>ip.ip);
 ctx.response.type = 'text/JSON';
 ctx.response.body = map;
});
app.listen(3000);
console.log('server listen:3000')

至于为什么既有promise又有async,是因为对异步语法还不是很熟,怎么会怎么写了。

使用方式:

 根据package.json

npm install   // 安装支持

node index.js  //获取代理 ip

node server.js  //运行简易ip接口

以上是“node.js如何抓取代理ip”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网html频道!

--结束END--

本文标题: node.js如何抓取代理ip

本文链接: https://lsjlt.com/news/74060.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • node.js如何抓取代理ip
    这篇文章主要介绍node.js如何抓取代理ip,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!node.js实现抓取代理ip 主要文件:index.js const chee...
    99+
    2024-04-02
  • node.js 抓取代理ip实例代码
    node.js实现抓取代理ip 主要文件:index.js const cheerio=require('cheerio'); const fetch =require('node-fetch');...
    99+
    2022-06-04
    实例 代码 node
  • 如何用Python爬虫抓取代理IP
    本篇文章为大家展示了如何用Python爬虫抓取代理IP,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。不知道大家在访问网站的时候有没有遇到过这样的状况就是被访问的网站会给出一个提示,提示的显示是“访问...
    99+
    2023-06-02
  • python: 抓取免费代理ip
    通过抓取西刺网免费代理ip实现代理爬虫: from bs4 import BeautifulSoup import requests import random import telnetlib requests = requests.se...
    99+
    2023-01-31
    python ip
  • http代理ip如何获取
    这篇文章将为大家详细讲解有关http代理ip如何获取,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。获取代理IP有几种方式:1、由程序扫描的代理,通过程序扫描IP段和端口找到的临时代理。比如百度搜索“HTT...
    99+
    2023-06-20
  • 如何获取IP代理地址
    这篇文章给大家分享的是有关如何获取IP代理地址的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。获得代理IP地址的四种方法:ADSL拨号服务器。缺点是IP需要重新连接时间,效率低。程序爬取的免费代理IP。这个效率很低...
    99+
    2023-06-15
  • 如何使用Node.js+Cheerio进行数据抓取
    这篇文章主要介绍“如何使用Node.js+Cheerio进行数据抓取”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用Node.js+Cheerio进行数据抓取...
    99+
    2024-04-02
  • Python如何抓取淘宝IP地址数据
    这篇文章主要介绍Python如何抓取淘宝IP地址数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!示例代码def fetch(ip):    url =&n...
    99+
    2023-06-02
  • 如何获取免费的代理ip
    本篇内容介绍了“如何获取免费的代理ip”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.自编程序到Internet捕捉和收集,到网上收集一些...
    99+
    2023-06-20
  • Python爬虫抓取时如何更换ip地址
    这篇文章主要介绍了Python爬虫抓取时如何更换ip地址,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python的五大特点是什么python的五大特点:1.简单易学,开发程...
    99+
    2023-06-15
  • 如何获取ip代理免费版的
    如何获取ip代理免费版的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。很多人想要使用ip,有很多方式,比如我们去找免费的,当然这种方式获取的ip基本上很多人都在使用,效果并...
    99+
    2023-06-25
  • 为什么代理IP让网络爬虫更快速抓取数据
    本篇文章为大家展示了为什么代理IP让网络爬虫更快速抓取数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。如今,很多人每天的工作都要与网络打交道。网络爬虫就是很多工作者每天做的任务,网络爬虫是用程序抓...
    99+
    2023-06-02
  • Python爬取代理IP
    环境Python3.6#!/usr/bin/env python #-*-coding=utf-8 -*- #AUTHOR:duwentao import requests import re i = input("请输入你要爬取第...
    99+
    2023-01-31
    Python IP
  • 如何通过http代理ip获取流量
    本篇内容主要讲解“如何通过http代理ip获取流量”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何通过http代理ip获取流量”吧!如今,http代理在大家的身边应用是很多的,下面就给大家详细...
    99+
    2023-06-20
  • 如何理解代理ip
    这篇文章将为大家详细讲解有关如何理解代理ip,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。何谓代理IP,实际上是一种网络代理,使用户可以通过代理人访问想要浏览的网站。总的来说,代理服务是保护...
    99+
    2023-06-25
  • 如何选取优质静态网页代理ip
    本篇内容主要讲解“如何选取优质静态网页代理ip”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何选取优质静态网页代理ip”吧!若您从事网络业务,请不要错过这篇文章。怎么了这样你就能找到你想用的优...
    99+
    2023-06-20
  • Flutter配置代理抓包如何实现
    今天小编给大家分享一下Flutter配置代理抓包如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。背景在开发Flutte...
    99+
    2023-07-05
  • 尝试使用Python多线程抓取代理服务器IP地址的示例
    这里以抓取 http://www.proxy.com.ru 站点的代理服务器为例,代码如下: #!/usr/bin/env python #coding:utf-8 import urllib2 imp...
    99+
    2022-06-04
    示例 代理服务器 多线程
  • 如何搭建代理ip
    这篇文章给大家分享的是有关如何搭建代理ip的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。为了使爬虫能够高效的工作,首先需要突破时间的限制,而代理IP就是一个非常好的突破工具。所以很多人都想通过建立IP池的方式,突...
    99+
    2023-06-20
  • 如何构建代理IP
    本篇内容介绍了“如何构建代理IP”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、购买一台拨号服务器,并建立一个动态IP池。购买拨号服务器建...
    99+
    2023-06-21
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作