- 浏览: 1592154 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
正则表达式练习
网络爬虫:(抓取 莱伊份网站首页的图片,然后下载保存到本地)
抓取本地文件中的所有邮箱
import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.TreeSet; public class RegexTest { public static void main(String[] args) { //test(); ipSort(); } /** * 需求:对邮件地址进行校验 */ public static void checkMail(){ String mail="asdd@sina.com"; String regex="\\w{6,12}@[a-zA-Z0-9]+(\\.[a-zA-Z]+){1,3}"; //较为精确的匹配, regex="\\w+@\\w+(\\.\\w+)+"; //相对不太精确的匹配 注册后,发送激活邮件 System.out.println(mail.matches(regex)); } /** * 需求: * 将虾类字符串转换成, 我要学编程 * 到底用四种功能中的那一个呢,或者哪几个呢? * 思路方式: * 1.如果指向知道该字符串是否对是错,使用匹配. * 2.想要将已有的字符串变成另一个字符串,替换 * 3.想要安装指定的方式将字符串变成多个字符串,切割. 获取匹配规则以外的子串 * 4.想要拿到符合要求的字符串子串, 获取. 获取符合规则的子串. */ public static void test(){ String str="我我....我我...我要....要要.....要要...学学学..学学.编程....程程...程"; /** * 将已有字符串变成一个字符串, 使用 替换功能. * 1.可以先去掉 " ." * 2.在将多个充分度的内容变成单个内容. */ str=str.replaceAll("\\.+", ""); System.out.println(str); str=str.replaceAll("(.)\\1+", "$1"); System.out.println(str); } /** * 192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30 * 将IP地址进行地址段顺序的排序. * 还按照字符串自然顺序,只要让他们每一段都是3位即可 * 1.按照每一段需要的最少多0进行补齐,那么每一段就会至少保证有3位 * 2.将每一段只保留3位,这样,所有的Ip地址都是每一段3位. */ public static void ipSort(){ String ip="192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30 127.0.0.1"; ip=ip.replaceAll("(\\d+)", "00$1"); System.out.println(ip); ip=ip.replaceAll("0*(\\d{3})", "$1"); System.out.println(ip); String[] arr=ip.split(" +"); //方法一 //Arrays.sort(arr); //方法二 TreeSet<String> ts=new TreeSet<String>(); for(String s:arr){ ts.add(s); } for(String s:ts){ System.out.println(s.replaceAll("0*(\\d+)", "$1")); //System.out.println(s.replaceAll("0*([1-9]\\d*)", "$1")); } //方法三 List<String> list= Arrays.asList(arr); for (String s : list) { System.out.println(s); } Collections.sort(list); } }
网络爬虫:(抓取 莱伊份网站首页的图片,然后下载保存到本地)
抓取本地文件中的所有邮箱
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 网页爬虫(蜘蛛) * 爬邮箱 * 抓取 莱伊份 网站首页 的图片 然后保存的本地 C:\ * 采用多线程进行下载 */ class downloadPic implements Runnable{ private String picpath; private String path; downloadPic(String picpath,String dir){ this.picpath=picpath; this.path=dir; } public void run(){ try { URL url=new URL(picpath.replaceAll(" ", "%20")); URLConnection conn=url.openConnection(); //设置请求的路径 //conn.setConnectTimeout(5*1000); int index=picpath.lastIndexOf("/"); int index1=picpath.lastIndexOf("?"); index1=index1==-1? picpath.length():index1; File dir=new File(path); if(!dir.exists()) dir.mkdirs(); String filename=path+picpath.substring(index,index1); BufferedInputStream bis=new BufferedInputStream(conn.getInputStream()); BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(new File(filename))); byte[] buf=new byte[1024]; int len=0; while((len=bis.read(buf))!=-1){ bos.write(buf, 0, len); bos.flush(); } bis.close(); bos.close(); } catch (Exception e) { e.printStackTrace(); } } } /** * 抓取 图片 * 抓取 本地文件中 所有 邮箱 * @author Bin * */ public class RegexTest2 { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { //getMails(); getMails_1(); } public static void cashPicAndMail() throws IOException{ URL url=new URL("http://www.laiyifen.com/"); URLConnection conn= url.openConnection(); BufferedReader bufr=new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8")); String line=null; String mailReg="\\w+@\\w+(\\.\\w+)+"; //抓取网站中的邮箱正则 mailReg="<img .*? ?src=\"(http:.*?)\".*?( /)?>"; //抓取图片正则 //http://images3.laiyifen.com/laiyifen/2012/10211/10211_01_s.jpg?1332472469#h //<img src="http://images.laiyifen.com/themes/laiyifen2/images/wl110.jpg"> //<img border="0" src="http://images.laiyifen.com/themes/laiyifen2/images/tribe_image01.jpg"> //<img style="width:80px; height:80px;overflow:hidden;" src="http://images4.laiyifen.com/laiyifen/2012/10211/10211_01_s.jpg?1332472469#h" /> Pattern p=Pattern.compile(mailReg); int count=0; String filedir="c:\\laiyifeng\\"; while((line=bufr.readLine())!=null){ //System.out.println(line); Matcher m=p.matcher(line); while(m.find()){ String picurl=m.group(1); new Thread(new downloadPic(picurl,filedir)).start(); count++; } } System.out.println("总计:"+count); } /** * 获取指定文档中的邮件地址 * 使用个获取功能,Pattern Matcher * @throws IOException */ public static void getMails() throws IOException{ BufferedReader bufr=new BufferedReader(new FileReader("E:\\mail.txt")); String line=null; String mailReg="\\w+@\\w+(\\.\\w+)+"; Pattern p=Pattern.compile(mailReg); while((line=bufr.readLine())!=null){ Matcher m=p.matcher(line); while(m.find()){ System.out.println(m.group()); } } } }
发表评论
-
检测一个字符串是否在jvm的常量池中
2018-12-18 17:34 1007public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2285经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5662package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 1006import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1057/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 1014//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1828更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1420import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 819import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2401import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 927// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1176import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 806import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1149import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3897import java.util.Calendar; ... -
java 多线程同步+通信
2016-08-01 16:48 969/** *父子线程 交替打印10 次, 100次 ... -
java 线程同步
2016-08-01 16:43 1027import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1843Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 1011/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2234package out; import ja ...
相关推荐
Java爬虫技术是一种用于自动化网页数据抓取的编程方法,尤其在处理图片抓取时,它可以帮助我们批量下载网络上的图像资源。对于新手来说,掌握Java爬虫抓取图片的基本步骤和技巧是十分有益的。 首先,我们需要了解...
Java网络爬虫是一种自动化程序,用于从互联网上抓取大量数据。它的工作原理是模拟浏览器发送HTTP请求到服务器,接收响应,并解析返回的HTML或XML文档以提取所需信息。在这个过程中,HttpClient是一个常用的Java库,...
通过Java网络爬虫爬取指定代理ip网上的ip,利用了jsoup、httpclient技术实现
对于初学者来说,理解并实现一个简单的Java爬虫能够帮助他们掌握网络数据抓取的基本原理。在这个过程中,主要涉及以下几个核心知识点: 1. **HTTP协议**:Java爬虫首先需要理解HTTP(超文本传输协议),它是互联网...
java爬虫抓取城市数据,数据抓取后直接持久化到数据库当中。博客地址http://blog.csdn.net/qq_23994787/article/details/78107890 如果没有积分的话,在主页给博主发邮件获取。
在本项目中,我们主要探讨的是使用Java编程语言开发的一款网络爬虫,其目标是爬取特定网站——“校花网”上的所有美女图片。同时,项目还包含了一个基于Swing的简单游戏——贪吃蛇,增加了趣味性。以下是关于Java...
Java爬虫技术是一种用于自动化获取网页内容的程序,它能够帮助开发者从互联网上抓取大量信息,例如新闻、数据和图片。在这个“java爬虫抓取新闻.zip”压缩包中,包含了一个名为“爬虫”的可能为源代码的文件以及一个...
在本项目"JAVA_采集-爬虫抓取原代码"中,主要涉及到的是使用Java语言进行网络数据采集,也就是我们常说的网络爬虫技术。Java作为一种广泛应用的编程语言,其强大的面向对象特性和丰富的库资源使得它非常适合开发复杂...
Java网络爬虫是一种技术,用于自动化地从互联网上抓取信息。在许多情况下,特别是涉及到登录后才能访问的内容,如人人网这样的社交平台,我们不能简单地通过HTTP请求获取数据,因为这些页面需要用户身份验证。这就...
Java爬虫爬取百度图片是一项常见的网络数据抓取任务,主要涉及到的技术包括网络请求、HTML解析、图片下载等。在本场景中,我们主要探讨如何使用Java语言编写爬虫来实现这一目标。 首先,要爬取百度图片,我们需要...
(Java毕业设计)Java网络爬虫(蜘蛛)(Java毕业设计)Java网络爬虫(蜘蛛)(Java毕业设计)Java网络爬虫(蜘蛛)(Java毕业设计)Java网络爬虫(蜘蛛)(Java毕业设计)Java网络爬虫(蜘蛛)(Java毕业设计)Java网络爬虫(蜘蛛)(Java...
Java网络爬虫是一种用于自动化地从互联网上抓取大量数据的程序。源码通常是程序员编写的原始代码,它揭示了程序内部的工作原理和实现细节。在这个"Java网络爬虫源码"压缩包中,我们可以期待找到用Java语言编写的网络...
一个java版本的dht网络爬虫,伪装dht节点获取hashinfo
Java网络爬虫(也称为蜘蛛)是一段用于自动抓取互联网上的数据并进行分析处理的程序代码。这些爬虫通常用于搜索引擎索引、数据挖掘、市场研究或任何需要从大量网页中提取有用信息的场景。 在Java中,编写网络爬虫...
Java网络爬虫是利用Java编程语言编写的一种程序,用于自动抓取互联网上的信息。它通过模拟浏览器发送HTTP请求到服务器,接收并解析响应内容,进而获取网页上的数据。 描述中提到,这个网络爬虫源码能够针对指定的...
使用java代码基于MyEclipse开发环境实现爬虫抓取网页中的表格数据,将抓取到的数据在控制台打印出来,需要后续处理的话可以在打印的地方对数据进行操作。包解压后导入MyEclipse就可以使用,在TestCrawTable中右键...
Java网络爬虫,也称为网页抓取或数据挖掘,是一种自动化程序,用于从互联网上抓取大量信息。这种技术在数据分析、市场研究、新闻聚合、搜索引擎优化等领域有着广泛的应用。本资源提供的是Java语言编写的网络爬虫源码...
Java网络爬虫是一种用于自动化获取互联网信息的程序,它能够按照特定规则遍历网页,抓取其中的数据。在这个"Java网络爬虫程序(源程序和数据库文件)"中,我们看到的是一个完整的爬虫项目,它能够从指定的网页抓取`...
Java网络爬虫是一种用于自动化网页抓取的程序,它能够按照特定规则遍历互联网上的页面,提取所需数据。本项目提供了用Java实现的网络爬虫示例,特别适合初学者学习。内置的MyEclipse工程使得在开发环境中直接运行和...
Java网络爬虫是一种利用编程语言(在这种情况下是Java)自动抓取互联网信息的程序。它能够遍历网页,提取所需数据,如文本、图片、链接等,广泛应用于数据分析、市场研究、搜索引擎优化等领域。Java作为跨平台的编程...