`
sunwch
  • 浏览: 169920 次
  • 性别: Icon_minigender_1
  • 来自: free-town
社区版块
存档分类
最新评论

抓取解析ip并入库

 
阅读更多
  • 以下代码为抓取ip地址并入库分析,代码仅供参考,并未做任何处理....
  • public static void main(String[] args) {
    String crawl_url = "http://www.cnblogs.com/xioxu/archive/2009/05/03/1448322.html";
    StringBuilder sb = new StringBuilder();

    try{
    URL instance = new URL(crawl_url);
    URLConnection con = instance.openConnection();
    BufferedReader bufferReader = new BufferedReader(new InputStreamReader(con.getInputStream()));
    String readLine;
    while((readLine = bufferReader.readLine()) != null){
    // cache in memory
    sb.append(readLine);
    }
    }catch(Exception ex){

    }

    parseIp(sb.toString());
    }

    private static void parseIp(String html){
    List<String> parseList = new ArrayList<String>();
    String regex = "((\\d{2,}\\.){3}\\d{2,})\\__((\\d{2,}\\.){3}\\d{2,})\\__([^a-zA-Z]{2,})\\__([^a-zA-Z]{2,})";
    Pattern p = Pattern.compile(regex);
    Matcher matcher = p.matcher(html);
    while(matcher.find()){
    String str = matcher.group();
    str = str.replaceAll("[\\<\\/]", "");
    parseList.add(str);
    System.out.println(str);
    /*String startIp = matcher.group(0);
    String endIp = matcher.group(1);
    String province = matcher.group(2);
    String routeType = matcher.group(3);
    System.out.println("startIp: " + startIp + "\tendIp: " + endIp + "\tprovince: " + province + "\trouteType: " + routeType);*/
    }

    List<Ip> ipList = toIpList(parseList);
    for(Ip ip : ipList){
    System.out.println(ip.toString());
    }
    }

    private static List<Ip> toIpList(List<String> list){
    List<Ip> ipList = new ArrayList<Ip>();
    Ip ip = null;
    for(String line : list){
    ip = new Ip();
    String[] asArray = toIpArray(line);
    ip.setStartIp(asArray[0]);
    ip.setEndIp(asArray[1]);
    ip.setProvince(asArray[2]);
    ip.setRouteType(asArray[3]);
    ipList.add(ip);
    }

    return ipList;
    }

    private static String[] toIpArray(String line){
    String[] toArray = new String[5];
    int pos = 0;
    int length = "__".length();
    int idx = 0;

    while((pos = line.indexOf("__")) > -1){
    String value = line.substring(0,pos);
    toArray[idx++] = value;
    line = line.substring(pos + length);
    }

    return toArray;
    }
分享到:
评论

相关推荐

    使用Jsoup抓取网页关键信息并入库 ip天气查询并发送邮件

    本项目将讲解如何使用Jsoup来抓取网页的关键信息,并将其存储到数据库中,同时实现通过IP地址查询天气并以邮件形式发送。 首先,Jsoup提供了简洁的API,使得解析HTML变得易如反掌。我们可以利用Jsoup的`connect()`...

    影视系统全自动采集入库,

    "影视系统全自动采集入库"这个话题涉及到多个IT技术领域,包括数据抓取(Web Scraping)、内容解析、数据库管理、自动化流程以及版权法律问题。下面将详细阐述这些知识点: 1. **数据抓取(Web Scraping)**:影视...

    java抓包、解析

    这通常涉及到解析IP头、TCP/UDP头以及应用层协议(如HTTP、FTP等)的数据。例如,对于HTTP数据包,我们需要提取URL、方法(GET、POST等)、响应状态码等信息。 4. **日志生成**: 项目提到生成日志,这意味着抓取和...

    java-爬取代理IP

    9. **数据清洗**:抓取到的数据可能包含无效、重复或格式不一致的IP,需要进行数据清洗和验证,确保入库的代理IP是可用的。 10. **持续集成/持续部署(CI/CD)**:如果项目规模较大,可以采用Jenkins、GitLab CI/CD等...

    sciencedirect 网站抓取过程.docx

    为了抓取 sciencedirect 网站的数据,需要解决两个主要问题:网站的数据分析和 IP 限制。对于网站的数据分析,需要解析整个 Json 数据,找到具体的数据信息。可以使用两种解决方案:对所有的数据遍历 key/value,...

    知识图谱数据抓取工具.zip

    Spider负责定义如何解析网页并提取所需信息,Downloader处理HTTP请求和响应,Item Pipeline负责清洗、验证和存储抓取的数据,Middleware则在两者之间提供扩展功能,如处理反爬机制或自定义请求和响应处理。...

    Python爬虫入库代码实现.zip

    综上所述,“Python爬虫入库代码实现.zip”中的内容可能包含了一个完整的Python爬虫项目,从抓取网页数据到存储到数据库的整个流程,对于想要学习或提升爬虫技能的开发者来说,是一个很好的实践参考。

    Scrapy 抓取 网易严选、小米有品产品数据.zip

    1. **Scrapy框架**:Scrapy是一个用Python编写的开源框架,专为爬取网站并提取结构化数据而设计。它提供了高效的中间件系统,可以处理HTTP请求、下载管理、数据解析等功能,使得复杂的爬虫项目变得相对简单。 2. **...

    基于ASP的哇啊BT下载爬虫ASP+入库版.zip

    【标题】"基于ASP的哇啊BT下载爬虫ASP+入库版.zip" 指的是一款使用ASP(Active Server Pages)编程语言开发的BT下载爬虫程序,它能够自动抓取哇啊BT网站上的资源信息,并将其存储到数据库中。这款程序可能是为了方便...

    采集排量入库代码(新闻,图片)

    "采集排量入库代码(新闻,图片)"这个标题暗示我们这里涉及的是一个用于收集网络上新闻和图片数据,并将这些数据存储到数据库中的程序。下面我们将深入探讨相关知识点: 1. **数据采集**:数据采集是获取所需信息...

    phpscraper:使用php curl抓取网站并将信息放入数据库中。 此示例运行两个不同的文件,以便我可以更快地运行文件

    在这个项目中,可能有两个文件分别负责不同的任务,比如一个文件负责抓取页面,另一个文件负责解析和入库。解析网页通常涉及 HTML 解析,可以使用 PHP 的 DOMDocument 或 SimpleXMLElement 类。这些类允许我们解析 ...

    Python 爬虫项目

    4. **数据清洗与入库**: 数据抓取后,可能需要清洗,去除无用信息,然后按照特定格式存入数据库。 ### 五、项目结构分析 项目名称为`BaiduyunSpider-master`,通常包含以下部分: - **源代码**: 包含爬虫的Python...

    使用scrapy抓取google app store 信息 写入mysql - 2018.6

    然后,在Scrapy的Pipeline组件中处理抓取到的数据,进行清洗、验证和入库操作。使用Python的`mysql-connector-python`库可以方便地连接和操作MySQL数据库。 6. **Scrapy设置与配置**:在`settings.py`文件中,配置...

    天极软件下载

    7. **数据清洗与处理**:抓取到的数据可能存在噪声,如广告信息、格式不规范等,需要进行数据清洗,确保入库数据的质量。 8. **异常处理与日志记录**:在抓取过程中可能会遇到各种异常情况,如网络错误、页面结构...

    deepdao数据爬虫+入库.zip

    爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...

    51job网站信息爬取.zip

    在本项目中,我们主要探讨的是如何利用Python爬虫技术从51job(前程无忧)网站抓取职位信息,并将这些数据存储到MySQL数据库中。以下是对该项目涉及的各个知识点的详细说明: 1. Python爬虫:Python是爬虫开发的...

    Python库 | scraptils-0.1.1.tar.gz

    在使用Scraptils时,开发者通常会导入库,创建实例,然后调用相应的函数来执行Web抓取任务。例如,通过调用`scraptils.get`发送HTTP请求,`scraptils.parse`解析响应内容,以及`scraptils.save`保存数据等。 为了...

    网络数据采集技术概述.pptx

    网络数据采集技术是互联网时代获取信息的重要手段,它涉及到网页抓取、数据处理和存储等多个环节。本概述主要探讨了网络爬虫的基本概念、数据采集流程、网页分析、动态页面抓取、可视化爬虫以及反爬虫技术。 首先,...

    DHT磁力爬虫入库程序,将爬取到的数据保存至Mongo、ES或者Mysql.zip

    爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...

    网页爬虫.rar

    “网页爬虫.rar”这个项目可能包含了以上所有环节的代码实现,从URL管理、网页下载、内容解析到数据入库。通过学习和理解这个项目,你可以掌握完整的网页爬虫开发流程,提升自己的数据获取和处理能力。

Global site tag (gtag.js) - Google Analytics