[分享]ip地址爬取过滤的shell
http://www.hbbzy.me/分享ip地址爬取过滤的shell
#!/bin/base #ip zhi地址匹配 #获取最新的ip地址 #author:haifeng #wget ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest #ftp://ftp.ripe.net/ripe/stats/delegated-ripencc-latest #ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest #ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-latest #ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest #改变字段分割符 IFSOLD=$IFS IFS="," #文件数组 FILES=(delegated-arin-extended-latest,delegated-ripencc-latest,delegated-afrinic-latest,delegated-apnic-latest,delegated-lacnic-latest) #大洋洲 国家(地区)简称数组 oceania=(AU,CC,CX,FJ,KI,MH,FM,NR,NZ,PW,PG,WS,TO,TV,VU) #亚洲除中国大陆 香港 澳门 台湾之外的国家(地区)简称数组 asia=(AF,AS,BH,BD,BT,BN,KH,CN,CK,IO,IN,ID,IR,IQ,IL,JP,JO,KZ,KP,KR,KW,KG,LA,LB,MY,MV,MM,MN,MP,NP,NC,NF,NU,OM,PK,PF,PH,QA,RU,SB,SA,SG,LK,TK,TJ,TH,TL,TR,TM,AE,UZ,VN,WF,YE) #中国大陆 cn=(CN) #香港 澳门 台湾 hk=(HK,MO,TW) #欧盟区域 eu=(AL,AD,AM,AX,AT,AZ,BY,BE,BL,BA,BQ,BG,BV,CW,HR,EH,CY,CZ,DK,EE,FK,FO,FI,FR,GG,GI,GE,DE,GL,GR,GS,IM,HU,IS,IE,JE,IT,LV,LI,LT,LU,MK,MT,MD,MC,ME,MQ,NL,NO,PL,PT,PN,RO,PS,SH,SJ,SM,RS,SX,SK,SI,SY,ES,TF,SE,CH,VA,UA,UK,GB) #美洲区域 namerica=(AI,AG,BS,BB,BZ,BM,CA,CR,CU,DM,DO,SV,GP,GD,GU,GT,HT,HN,JM,KY,MF,MX,MS,NI,PA,PM,PR,KN,LC,TC,UM,TT,US,VC,VG,VI) #南美 samerica=(AW,AR,BO,BR,CL,CO,EC,GF,GY,PY,PE,SR,UY,VE) #非洲 africa=(DZ,AO,BJ,BI,BW,BF,CM,CV,CF,TD,CI,KM,CG,CD,DJ,EG,GQ,ER,ET,GA,GM,GH,GN,GW,HM,KE,LS,LR,LY,MG,MW,ML,MR,MU,MA,MZ,NA,NE,NG,RE,RW,ST,SN,SC,SL,SO,ZA,SS,SD,SZ,TZ,TG,TN,UG,YT,ZM,ZW) #创建文件保存目录 if [ ! -d "db" ];then mkdir db fi #遍历文件 for FILE in ${FILES[@]} do num=1; echo create $FILE; echo create $FILE>>db/other.txt #找到匹配的ipv行,获取国家(地区),协议,ip,ip数 grep 'ipv' $FILE | cut -f 2,3,4,5 -d '|'|sed -e 's/|/,/g' | while read country agr ip cnt do num=$(($num+1)); echo "ip num:" $num; if [ "${agr}" == "ipv4" ];then #掩码 mask=`cat << EOF | bc | tail -1 pow=32; define log2(x){ if (x<=1) return (pow); pow--; return(log2(x/2)); } log2($cnt) EOF` elif [ "${agr}" == "ipv6" ];then mask=$cnt; fi if [ -n "$country" ];then if [[ "$cn[@]" =~ $country ]] ; then echo $ip/$mask>>db/cn.txt elif [[ "$oceania[@]" =~ $country ]] ; then echo $ip/$mask>>db/oceania.txt elif [[ "$asia[@]" =~ $country ]] ; then echo $ip/$mask>>db/asia.txt elif [[ "$hk[@]" =~ $country ]] ; then echo $ip/$mask>>db/hk.txt elif [[ "$eu[@]" =~ $country ]] ; then echo $ip/$mask>>db/eu.txt elif [[ "$namerica[@]" =~ $country ]] ; then echo $ip/$mask>>db/namerica.txt elif [[ "$samerica[@]" =~ $country ]] ; then echo $ip/$mask>>db/samerica.txt elif [[ "$africa[@]" =~ $country ]] ; then echo $ip/$mask>>db/africa.txt else echo $country,$ip/$mask>>db/other.txt fi fi echo $FILE,$country,$ip/$mask >> db/all.txt done done #还原字段分割符 IFS=$IFSOLD
[分享]ip地址爬取过滤的shell的更多相关文章
- IP地址爬取
ip_spider.py= = = #!/usr/bin/python # coding: utf-8 import os import sys import requests import re i ...
- 淘宝地址爬取及UI展示
淘宝地址爬取及UI展示 淘宝国家省市区街道获取 参考 foxiswho 的 taobao-area-php 部分代码,改由c#重构. 引用如下: Autofac MediatR Swagger Han ...
- python+正则提取+ip代理爬取糗事百科文字信息
很多网站都有反爬措施,最常见的就是封ip,请求次数过多服务器会拒绝连接,如图: 在程序中设置一个代理ip,可有效的解决这种问题,代码如下: # 需要的库 import requests import ...
- C# 获取本机的所有ip地址,并过滤内网ip
private void Initialization_Load(object sender, EventArgs e) { cboxip.Items.Add("请选择IP地址") ...
- 某代理网站免费IP地址抓取测试
源代码在测试中... http://www.AAA.com/nn/| 122.6.107.107| 8888| 山东日照| 高匿| HTTP| | | ...
- 爬虫-通过本地IP地址从中国天气网爬取当前城市天气情况
1.问题描述 最近在做一个pyqt登录校园网的小项目,想在窗口的状态栏加上当天的天气情况,用爬虫可以很好的解决我的问题. 2.解决思路 考虑到所处位置的不同,需要先获取本地城市地址,然后作为中 ...
- 代理IP爬取和验证(快代理&西刺代理)
前言 仅仅伪装网页agent是不够的,你还需要一点新东西 今天主要讲解两个比较知名的国内免费IP代理网站:西刺代理&快代理,我们主要的目标是爬取其免费的高匿代理,这些IP有两大特点:免费,不稳 ...
- 爬虫爬取代理IP池及代理IP的验证
最近项目内容需要引入代理IP去爬取内容. 为了项目持续运行,需要不断构造.维护.验证代理IP. 为了绕过服务端对IP 和 频率的限制,为了阻止服务端获取真正的主机IP. 一.服务器如何获取客户端IP ...
- python爬取高匿代理IP(再也不用担心会进小黑屋了)
为什么要用代理IP 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人 ...
随机推荐
- 解决MAC下PHP连接MYSQL错误Warning: mysql_connect(): No such file or directory in conn.php
今天在mac上用php去连接mysql数据库,出现了 mac PHP Warning: mysql_connect(): [2002] No such file... 详细例如以下所看到的: Dir ...
- BestCoder Round #11 (Div. 2)
太菜,仅仅能去Div2.(都做不完 ORZ... 各自是 HDU: 5054pid=5054"> Alice and Bob 5055Bob and math problem 5056 ...
- 使用spring-loaded开源项目,实现java程序和web应用的热部署
JDK1.5之后提供了java.lang.instrument.Instrumentation,即java agent机制可以实现类的redefinition和retransform. redefin ...
- ReactNative之Flux框架的使用
概述 流程图 项目结构 View Components actions Dispatcher Stores 感谢 概述 React Native 能够说非常火,非常多bat的项目都在使用.不用发版就能 ...
- lightoj--1008--Fibsieve`s Fantabulous Birthday(水题)
Fibsieve`s Fantabulous Birthday Time Limit: 500MS Memory Limit: 32768KB 64bit IO Format: %lld &a ...
- 14.c语言dll注入
#include <Windows.h> //dll不需要main函数 //导出接口 _declspec(dllexport) void go() { MessageBoxA(, ); }
- SGU 461 Wiki Lists dfs
不难的题,不过蛮有意思的dfs #include <iostream> #include <cstdio> #include <fstream> #include ...
- How Javascript works (Javascript工作原理) (十二) 网络层探秘及如何提高其性能和安全性
个人总结:阅读完这篇文章需要20分钟,这篇文章主要讲解了现代浏览器在网络层传输所用到的一些技术, 应当对 window.performance.timing 这个API所有了解. 这是 JavaScr ...
- GPU流水线
起点: 是一个三维模型,由顶点(vertices)构成.顶点列表中的每个顶点是三维坐标系中的坐标,并带有颜色信息.顶点列表(point list)即是流水线的输入数据. 顶点处理: 定点通过三角化(t ...
- HTTP 413报错
在php中通过flash上传文件到服务器端时报413错误,原来一直以为是php.ini配置的问题,但是检查了php.ini的配置以后,发现不是php.ini的问题,最后是通过Http Analyzer ...