import java.io.IOException;
import java.util.regex.*;
public class Testspider {
public static void main(String args[]) throws IOException{
String regex = "src=\"(/\\w{1,6}_\\w{1,5}/\\w{1,6}/\\d\\.\\w{1,3})\"/>";
// 例如:匹配 src="/games_html/images/1.gif"
String webAddress = "http://www.shua123.com";
String sCurrentLine;
String sTotalString;
sCurrentLine="";
sTotalString="";
java.io.InputStream l_urlStream;
java.net.URL l_url = new java.net.URL(webAddress);
java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
l_connection.connect();
l_urlStream = l_connection.getInputStream();
java.io.BufferedReader l_reader = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream));
while ((sCurrentLine = l_reader.readLine()) != null)
{
sTotalString+=sCurrentLine;
}
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(sTotalString);
while (m.find()){
System.out.println(webAddress + m.group(1));
}
}
打印出:
http://www.shua123.com/games_html/images/1.gif
http://www.shua123.com/games_html/images/2.gif
http://www.shua123.com/games_html/images/3.gif
http://www.shua123.com/games_html/images/4.gif
http://www.shua123.com/games_html/images/5.gif
http://www.shua123.com/games_html/images/6.gif
http://www.shua123.com/games_html/images/7.gif
http://www.shua123.com/games_html/images/8.gif
http://www.shua123.com/games_html/images/9.gif
分享到:
相关推荐
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。 简单来说,正则表达式就是一个很牛逼的字符串处理工具。 正则表达式中有()表示分组,...
最后,本书也提到了一些常见品牌的商标,例如Sun Microsystems的Java™商标、Microsoft的Internet Explorer和.NET商标、Marvel Enterprises的Spider-Man商标等。这些商标在本书中被提及,主要是为了说明在实际使用中...
Java库如Jsoup可以方便地解析HTML,而正则表达式则常用于匹配和提取特定格式的数据。 4. **接口设计**:描述中提到"带一个操作接口",这意味着Java Spider可能提供了一个API供其他系统或应用调用,进行定制化的数据...
### Java编写的网络爬虫(Crawler/Spider)关键知识点解析 #### 一、网络爬虫(Crawler/Spider)概述 网络爬虫(Web Crawler),也称为网页蜘蛛、网络机器人等,是一种按照一定的规则自动抓取万维网信息的程序或者脚本...
- **正则表达式**:匹配URL,筛选出有效链接。 - **DOM解析**:通过DOM树结构找到链接元素。 - **robots.txt**:遵循网站爬虫指南,尊重网站隐私。 7. **反反爬策略** - **User-Agent**:模拟不同浏览器发送...
这通常涉及URL匹配、CSS选择器、正则表达式等技术,以精确地定位所需信息。 2. **深度抓取**:工具支持深度优先或广度优先的爬取策略,能按照设定的层级深入网站抓取数据,实现全站或部分页面的抓取。 3. **动态...
本项目"Spider.zip"显然是一个关于使用Java进行网络爬虫开发的示例。网络爬虫是自动抓取网页内容的程序,常用于数据分析、搜索引擎索引以及信息监控等场景。在这个项目中,我们将会探讨如何使用Java的URL类来获取...
【WebSpider蓝蜘蛛网页抓取 v5.1】是一款基于Java技术开发的高效网页抓取工具,主要用于自动化地从互联网上搜集和处理信息。这款软件以其强大的数据抓取能力和灵活性,广泛应用于数据分析、搜索引擎优化、市场研究等...
本篇将详细讲解如何使用Java编程语言结合正则表达式来实现这个功能。 首先,我们需要理解正则表达式(Regular Expression),它是一种强大的文本处理工具,可以用来匹配、查找、替换符合特定模式的字符串。在Java中...
解决方法包括更新解析规则、使用更灵活的解析方式(如正则表达式匹配)等。 - **问题3:频繁被封IP** 针对这种情况可以采取更换IP地址、设置合理的请求间隔时间、使用代理服务器等多种手段来规避风险。 #### 知识...
3. **正则表达式或解析库**:如BeautifulSoup、PyQuery等,用于高效地匹配和提取数据。 4. **数据存储**:如何将抓取到的数据存储到数据库或文件系统中。 5. **IP代理和用户代理**:用于避免被目标网站封锁,模拟...
2. **FunctionUtils.java** —— 提供了一系列静态工具方法,用于处理页面链接的正则表达式匹配、URL规范化、文件创建等。 3. **HrefOfPage.java** —— 用于提取页面中的链接信息。 4. **UrlDataHandling.java** ...
- **网页存储或处理**:解析HTML并按需求存储或处理数据,可能涉及DOM解析、正则表达式匹配等技术。 - **运行期监控**:编写监控代码,收集和分析爬虫的运行数据。 5. **程序实例** 文档中提供了具体的代码示例...
- 利用正则表达式`Pattern.compile("\\w+")`匹配所有的单词。 - 遍历匹配结果,并对每个单词进行进一步处理: - 去除HTML标签; - 转换为小写; - 检查该单词是否已经存在于数据库中,如果存在,则获取其ID。 ``...
这个过程可能涉及到字符串处理、正则表达式匹配等技术。 5. **数据存储**:提取出来的信息通常需要存储起来,以便后续分析或展示。Java提供了多种数据存储方式,如文件系统、数据库(JDBC)、NoSQL数据库(如...
- `java.util.regex`包用于处理正则表达式。 ##### 3.2 定义类与主方法 ```java public class WebSpider { public static void main(String[] args) { // 主方法实现 } } ``` - 类名为`WebSpider`。 - `main`...
从文章中的某一个页面,爬取其页面的a标签,用正则匹配将所有爬取的页面中符合http://www.liuchuo.net/articles/ 形式的链接提取为待爬取的URL,将文章页面的标题h1标签和时间time标签分别存储在data字典的title和...
同时,正则表达式的使用允许用户精确匹配并提取所需内容,提高了抓取的精准度。 2. **Swing GUI**:提供了一个用户友好的图形界面,使得非程序员也能操作和监控爬虫的运行状态。用户可以在这个界面上设置爬取任务、...
4. **正则表达式**:虽然解析库能处理大部分网页结构,但有时需要使用正则表达式进行更复杂的文本匹配和提取。Python的re模块提供了正则表达式操作功能。 5. **异步爬虫**:如果需要抓取大量网页,同步爬虫可能效率...
在Java中实现这个功能,我们可以利用基础的I/O流和正则表达式来匹配网页中的电子邮件地址。以下将详细介绍提供的代码示例以及相关的Java爬虫知识。 首先,我们看到一个名为`SpiderDemo`的类,它包含了主函数`main`...