`
- 浏览:
948650 次
- 性别:
- 来自:
北京
-
正则表达式学习 ---- 抓取远程网页并解析HTML
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- import org.apache.commons.httpclient.HttpClient;
- import org.apache.commons.httpclient.HttpStatus;
- import org.apache.commons.httpclient.methods.GetMethod;
-
- public class HttpClientDemo {
-
-
-
-
-
-
-
- public static String getHTML(String url) throws Exception {
- HttpClient httpClient = new HttpClient();
- GetMethod getMethod = new GetMethod(url);
- int statusCode = httpClient.executeMethod(getMethod);
- if (statusCode != HttpStatus.SC_OK) {
- System.err.println("Method failed: " + getMethod.getStatusLine());
- return null;
- }
-
- byte[] responseBody = getMethod.getResponseBody();
- getMethod.releaseConnection();
- return new String(responseBody);
-
- }
-
-
-
-
- public static void test(String url) throws Exception{
-
- String html = getHTML(url);
- Pattern p = null;
- Matcher m = null;
- StringBuffer sb0 = new StringBuffer();
-
- String regex = "<ul class=\"d2_9\">([\\s\\S]*<li>)<a.*href='(.*)'.*>(.+?)</a> \\[(.*)\\]</li>([\\s].*)";
-
- String regexa = "<a.*href='(.*)'.*>(.+?)</a> \\[(.*)\\]";
- p = Pattern.compile(regex);
-
- m = p.matcher(html);
- int count = 0;
-
- while (m.find()) {
- sb0.append(m.group());
- }
-
- p = Pattern.compile(regexa);
- m = p.matcher(sb0.toString());
-
- while (m.find()) {
- System.out.println("地址:" + m.group(1));
- System.out.println("标题:" + m.group(2));
- System.out.println("时间:" + m.group(3));
- count++;
- }
-
- System.out.println("抓取条数:"+count);
-
- }
-
- public static void main(String[] args) throws Exception {
- String url = "http://cpc.people.com.cn/GB/194302/194306/index.html";
- test(url);
-
- }
- }
- 大小: 23 KB
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
通过以上步骤,你可以创建一个VB程序,它能够自动下载指定网页的源码,使用正则表达式找出其中的图片链接,并将这些图片下载到本地。在实际应用中,你可能还需要处理一些边缘情况,如错误处理、编码问题,或者考虑...
在PHP开发中,正则表达式经常被用于解析和处理HTML文档中的内容,如自动抓取网页中的图片、链接等资源。 在上述文件的内容中,详细介绍了如何利用PHP的正则表达式来下载网页中的远程图片到本地服务器。这部分代码是...
### 远程抓取网页到本地数据库:详细解析与实现 #### 一、项目背景及需求分析 在当今数字化时代,互联网上的数据资源极其丰富,如何有效地从这些资源中提取有价值的信息并进行处理,成为了一个重要的课题。本案例...
接着,使用`preg_match_all`函数执行正则表达式并获取所有匹配的结果: ```php if (preg_match_all($regex4, $return, $matches)) { print_r($matches); } else { echo '0'; } ``` `preg_match_all`会返回一个...
例如,你可以通过设置正则表达式来定位网页中的标题、内容、作者等信息,从而实现精确的数据抓取。 其次,该插件支持扩展参数。这意味着用户可以在采集过程中添加自定义参数,以满足特定场景下的需求。例如,你可以...
在描述中提到的"实现准确抓文",这可能涉及到HTTP请求、HTML解析和正则表达式等技术。以下是对这些知识点的详细解释: 1. **HTTP请求**:HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议。在ASP中,我们...
- **解析HTML**:使用`HtmlAgilityPack`等库解析HTML,配合正则表达式匹配目标数据。 - **注册服务**:在安装过程中,使用`installutil.exe`工具将服务注册到系统服务管理器。 - **启动和监控**:通过服务管理器...
"图片抓取"和"页面图片抓取"都指的是该软件能够从网页中捕获和下载图片的能力,这涉及到HTML解析、CSS选择器、正则表达式等技术,以便定位和提取图片链接。"远程图片下载"如前所述,强调了处理非本地资源的能力,...
【Asp 读取网页源代码】 在ASP(Active Server Pages)中,读取网页源代码是一项基础且重要...总的来说,ASP读取网页源代码结合正则表达式,可以实现从网络上抓取和处理信息,这对于开发者来说是一项非常实用的技能。
3. **正则表达式**:有时,HTML解析不足以准确提取数据,尤其是当数据嵌入在复杂的CSS样式或JavaScript中时。这时,可以使用正则表达式进行字符串匹配,从HTML文本中提取数据。 4. **代理设置**:在描述中提到,...
例如,在给定的代码中,`preg_match_all()`函数结合正则表达式用于查找并提取网页中的图片链接。正则表达式可以灵活地定义匹配规则,适应各种网页结构。 **4. 图片采集** 在上述代码中,`getimg()`函数是一个用于...
3. **提取数据**:找到比分数据后,通过正则表达式或者XPath/CSS选择器进行提取。 4. **存储数据**:提取的数据通常会被保存到本地文件、数据库或者实时发送到远程服务器进行进一步分析。 在这个Demo中,用户设置的...
对于从远程抓取的HTML数据,这通常意味着使用正则表达式、DOM解析器或HTML Agility Pack等工具来解析HTML文档,提取出所需的特定数据元素。例如,从HTML中抽取文本、链接、图像或其他类型的信息。在提供的代码片段中...
解析HTML内容可以借助正则表达式或DOM解析库。 ```vbscript Dim response response = xhr.responseText ``` 4. **错误处理**:在处理远程请求时,需要考虑网络问题和服务器错误。通过检查`status`属性可以得知请求...
### ASP.NET 技巧:远程抓取 Google 的自动翻译结果 #### 概述 本文将详细介绍如何使用 ASP.NET 进行远程抓取 Google 自动翻译服务的结果。此方法主要适用于那些希望集成 Google 翻译功能到自己的应用程序中的...
在开发网站或应用程序时,经常需要抓取外部网页内容或解析HTML文档,而PHP作为一门广泛使用的服务器端脚本语言,提供了多种方式来实现这些需求。本文将重点总结PHP在网页抓取和HTML解析方面常用的方法。 首先,我们...
3. 正则表达式:正则表达式在解析网页内容时非常有用,可以用来匹配和提取特定模式的数据。PHP中的preg_match_all()函数就是进行正则匹配的利器。 【爬虫实现步骤】 1. 发送HTTP请求:使用file_get_contents()或...
此外,PHP提供了丰富的内置函数库,如file_get_contents用于读取远程文件(网页),preg_match_all用于正则表达式匹配,以及json_encode/decode处理JSON格式的数据。 2. 网络爬虫原理与技术: - HTTP请求:PHP通过...
3. 在采集器中,正则表达式常用于识别HTML标签、URL、特定文本等,实现网页内容的精确抓取。 二、采集器功能解析 1. 单页面采集:针对单个网页进行数据提取,适用于获取静态信息或特定页面的资料。 2. 多页面采集:...