C#用正则表达式 获取网页源代码标签的属性或值

 原文地址:http://blog.csdn.net/lhfly/article/details/7684319

整理两个 在C#中,用正则表达式 获取网页源代码标签的属性或值的方法 :

1、获取标签中的值: <a href="www.csdn.net" class="main" >CSDN</a> 结果:CSDN

        /// <summary>
        /// 获取字符中指定标签的值
        /// </summary>
        /// <param name="str">字符串</param>
        /// <param name="title">标签</param>
        /// <returns>值</returns>
        public static string GetTitleContent(string str, string title)
        {
            string tmpStr = string.Format("<{0}[^>]*?>(?<Text>[^<]*)</{1}>", title, title); //获取<title>之间内容

            Match TitleMatch = Regex.Match(str, tmpStr, RegexOptions.IgnoreCase);

            string result = TitleMatch.Groups["Text"].Value;
            return result;
        }

2、获取标签中的属性: <a href="www.csdn.net" class="main">CSDN</a>  获取 “href” 的结果:www.csdn.net

        /// <summary>
        /// 获取字符中指定标签的值
        /// </summary>
        /// <param name="str">字符串</param>
        /// <param name="title">标签</param>
        /// <param name="attrib">属性名</param>
        /// <returns>属性</returns>
        public static string GetTitleContent(string str, string title,string attrib)
        {

            string tmpStr = string.Format("<{0}[^>]*?{1}=([‘\"\"]?)(?<url>[^‘\"\"\\s>]+)\\1[^>]*>", title, attrib); //获取<title>之间内容

            Match TitleMatch = Regex.Match(str, tmpStr, RegexOptions.IgnoreCase);

            string result = TitleMatch.Groups["url"].Value;
            return result;
        }

注:以上方法为获取字符串中第一个结果的值。可以使用Foreach读取TitileMath中所有的匹配属性或值。

时间: 2024-10-18 22:06:43

C#用正则表达式 获取网页源代码标签的属性或值的相关文章

c#利用WebClient和WebRequest获取网页源代码的比较

前几天举例分析了用asp+xmlhttp获取网页源代码的方法,但c#中一般是可以利用WebClient类和WebRequest类获取网页源代码.下面分别说明这两种方法的实现. WebClient类获取网页源代码 WebClient类 WebClient类位于System.Net命名空间下,WebClient类提供向URI标识的任何本地.Intranet或Internet资源发送数据以及从这些资源接收数据的公共方法. 源代码 ///引用命名空间using System.IO;using Syste

C# 获取网页源代码

/// <summary> /// 获取网页源代码 /// </summary> /// <param name="url"></param> /// <returns></returns> private string GetWebRequest(string url) { if (!url.StartsWith("http://")) return ""; try { U

Java 网络爬虫获取网页源代码原理及实现

Java 网络爬虫获取网页源代码原理及实现 1.网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件. 2.那么程序获取网页的原理到底是怎么回事呢?看下面的图:客服端首先向服务器端发出Http请求,之后服务器端返回相应的结果或者请求超时客户端自己报错. 服务器端发出的Http请求,实际上说是对服务器的文件的请求

java正则表达式获取指定HTML标签的指定属性值

package com.mmq.regex; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @use 获取指定HTML标签的指定属性的值 * @FullName com.mmq.regex.MatchHtmlElementAttrValue.java </br> * @JDK 1.6.0 </b

[Jmeter]Xpath获取元素某个属性的值,以及获取最后一个元素某个属性的值

XPath获取元素某个属性的值 XPath query:  clients/attribute::total XPath获取最后一个元素某个属性的值 XPath query:   /clients/client[last()]/attribute::order [Jmeter]Xpath获取元素某个属性的值,以及获取最后一个元素某个属性的值,布布扣,bubuko.com

android应用开发_网络部分2——采用HttpURLConnection获取获取网页源代码

本文是android应用开发_网络部分1——采用HttpURLConnection获取网络图片的延续练习. 接下来,我们再来一个查看网页源代码的工程来加深了解. 布局上还是一个竖直排列的线性布局,一个edittext用于输入html路径,一个button,用于点击获取,一个textview用于显示. main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:and

iOS项目开发实战——获取网页源代码的二进制数据

我在上一篇博客<iOS项目开发实战--iOS网络编程获取网页Html源代码>中讲述了如何获取一个网页的HTML源代码,可以满足一定的需求.但是由于特殊原因,我们想获取的是一个网页的二进制数据,那么应该怎么办呢? 具体实现如下: (1)创建一个iOS项目,Language选择Swift,然后在ViewController.swift 中写入如下代码: override func viewDidLoad() { super.viewDidLoad() var data = NSData(conte

asp.net 利用HttpWebRequest自动获取网页编码并获取网页源代码

/// <summary> /// 获取源代码 /// </summary> /// <param name="url"></param> /// <returns></returns> public static string GetHtml(string url, Encoding encoding) { HttpWebRequest request = null; HttpWebResponse respon

正则表达式 查找网页源代码 提取指定内容

import requestsimport re txt='<a href="https://www.vgirls.com/13404.html" class="list-title text-md h-2x" target="_blank">想把夏日的阳光寄给冬日的你</a>'urla=re.findall('<a href="(.*?)" class="list-title text