亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

node網絡爬蟲獲取proxyIP

標簽:
Node.js

有爬取过一些网站的图片,或者爬取网站的信息的需求,对于开发人员来说,ProxyIP是必不可少的。当然,不是每个人都愿意去花钱来买代理IP,那么当然剩下一个好的方法,直接使用网络爬虫爬取ProxyIP

基于node的爬虫获取proxy IP:

  • request获取html页面;

  • 使用cheerio获取文档的DOM节点,通过对DOM节点的解析;

  • 通过代理IP访问百度,验证IP的正确性;

  • 将获取的IP保存在json文件中,剩下的就随便玩了;
系统 运行环境 工具包
不限 node requestcheeriobluebird

有兴趣的可以了解,github源码地址

展示部分代码

/**
 * 筛选有效IP
 * @param {*} data 数据IP
 */
async function check(data) {
    console.log('开始验证数据:')
    try {
        const valid = []  //有效数据
        await new Promise((res, rej) => {
            let length = data.length
            for (let i = 0; i < data.length; i++) {
                const options = {
                    url: "https://www.baidu.com",
                    proxy: data[i]
                }
                request.get(options, (err, req, body) => {
                    if (err) {
                        if ((--length) === 0) {
                            return res()
                        }
                    }else{
                        if(body&&req.statusCode===200){
                           valid.push(data[i])
                         }
                    }

                    if ((--length) === 0) {
                        return res()
                    }
                })
            }
        })
        console.log('有效数据:' + valid.length)
        return valid
    } catch (err) {
        console.log(err)
    }
}

后面会持续的迭代,github源码地址,如果代码有问题,可以直接issues

點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
845
獲贊與收藏
196

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消