`
xqf222
  • 浏览: 126966 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

批量抓取网页代码中的HTTP和邮件地址,IO,正则表达式,抓网页源码

 
阅读更多

上个星期开会说现在中国的垃圾邮件很赚钱啊。我也很想多赚点钱。不过做技术的都很死板。脑壳不灵活。只能多研究研究一些方法来实现这样子那样的程序代码,搜集整理的两天。终于找到自己想要的代码。不很完善多多改进就好了。
using System.IO;
using System.Text.RegularExpressions;

public string GetPageContent(string url)
{

//抓取网页源代码
string ContentHtml=String.Empty;
HttpWebRequest rt=null;
HttpWebResponse rs=null;
Stream stream=null;
StreamReader sr=null;

rt=(HttpWebRequest)WebRequest.Create(url);
rs=(HttpWebResponse)rt.GetResponse();
stream=rs.GetResponseStream();
sr=new StreamReader(stream,System.Text.Encoding.Default);
ContentHtml=sr.ReadToEnd();
sr.Close();
stream.Close();
rs.Close();
return ContentHtml;

}

public string SetHttpUrl(string StrText)
{
  //用正则表达式识别URL超链接
Regex UrlRegex = new Regex(@"(http:////([/w.]+//?)/S*)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
//进规则查询Url
MatchCollection matches = UrlRegex.Matches(StrText);
foreach (Match match in matches)
{
StrText = StrText.Replace(match.Value, string.Format("<a href=/"{0}/" target=/"_blank/">{1}</a>", match.Value, match.Value));
}
return StrText;
}

public string SetEmailUrl(string StrText)
{
   //用正则表达式识别Email地址
Regex EmailRegex = new Regex(@"([a-zA-Z_0-9.-]+/@[a-zA-Z_0-9.-]+/./w+)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
MatchCollection matches = EmailRegex.Matches(StrText);

foreach (Match match in matches)
{
StrText = StrText.Replace(match.Value, string.Format("<a href=mailto:{0}>{1}</a>", match.Value, match.Value));
}
return StrText;
}

public string GetHttpUrl(string StrText)
{
  
//将读取出来的全部URL写如文本文件
string strPageUrlFileName=Application.StartupPath+"//HttpPageUrl.txt";
StreamWriter strwriterobj=File.CreateText(strPageUrlFileName);

//用正则表达式识别URL超链接进规则查询Url
Regex UrlRegex = new Regex(@"(http:////([/w.]+//?)/S*)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
MatchCollection matches = UrlRegex.Matches(StrText);
foreach (Match match in matches)
{
lstHttp.Items.Add(match.Value.ToString());
strwriterobj.WriteLine(match.Value.ToString());
}
strwriterobj.Close();
return StrText;

}

public string GetEmailUrl(string StrText)
{
//将读取出来的全部URL写如文本文件
string strPageEmailFileName=Application.StartupPath+"//HttpPageEmail.txt";
StreamWriter strwriterobj=File.CreateText(strPageEmailFileName);

   //用正则表达式识别Email地址
Regex EmailRegex = new Regex(@"([a-zA-Z_0-9.-]+/@[a-zA-Z_0-9.-]+/./w+)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
MatchCollection matches = EmailRegex.Matches(StrText);
foreach (Match match in matches)
{
lstEmail.Items.Add(match.Value.ToString());
strwriterobj.WriteLine(match.Value.ToString());
}
strwriterobj.Close();
return StrText;

}

批量抓取网页代码中的HTTP和邮件地址,IO,正则表达式,抓网页源码

分享到:
评论

相关推荐

    JAVA正则表达式小程序

    本项目"JAVA正则表达式小程序"利用Java语言结合正则表达式,实现了从网页中抓取特定内容并存储为CSV(Comma-Separated Values)文件的功能。下面我们将深入探讨Java中的正则表达式以及如何与CSV文件操作相结合。 1....

    正则表达式最简单demo

    在这个“正则表达式最简单demo”中,我们将关注如何使用正则表达式在网络爬虫中抓取域名信息。下面将详细解释正则表达式的概念以及在Java编程语言中实现的基本步骤。 首先,理解正则表达式的核心概念: 1. **字符...

    asp.net抓取网页源码

    - **数据分析**:抓取网页源码后可以通过正则表达式或DOM解析等方式提取出有用的数据,进行进一步分析。 - **内容聚合**:将多个来源的数据整合在一起,提供更全面的信息展示。 - **监测与预警**:定期抓取特定页面...

    网页文字抓取器

    网页文字抓取器是一种工具,主要用于从互联网上的网页中批量提取文字内容。这种工具在数据挖掘、信息分析、搜索引擎优化(SEO)等领域有着广泛的应用。它能够自动化地爬取网页,解析HTML,提取出纯文本,帮助用户...

    Java抓取URL/Email实例源码

    正则表达式在这种情况下非常有用,可以匹配符合电子邮件地址模式的字符串。Java的`java.util.regex`包提供了正则表达式的实现,可以通过编译正则模式来查找Email。 在实际项目中,为了避免抓取到无效或重复的URL,...

    简易网站信息抓取程序

    在抓取黄页数据时,程序可能使用正则表达式来定位和提取特定字段,如联系人姓名、电话号码和电子邮件地址等。 3. **数据存储**: 抓取到的500万条数据需要有效地存储和管理。这可能涉及数据库技术,如MySQL、...

    C#获取网页标题源代码

    在C#编程语言中,获取网页标题是一项常见的任务,特别是在进行网页抓取或者网络爬虫开发时。这个项目是基于Visual Studio 2008(VS2008)环境编译并测试通过的,因此我们可以预期代码兼容.NET Framework 3.5。接下来...

    java闹钟开发项目

    项目中多次使用了正则表达式来解析和提取网页内容,如: - `(.*?)&lt;/p&gt;`:用于匹配HTML标签内的文本内容。 - `src="(.*?)"`:用来提取图片的源地址。 这些正则表达式的应用使得程序能够高效地从大量的HTML代码中...

    python抓取百度搜索的数据

    - `re`:提供正则表达式匹配功能,用于提取网页中的特定信息。 对于Python 3.x,`urllib2`已经被拆分为多个模块,如`urllib.request`等。 #### 知识点二:构建HTTP请求 代码片段中使用了`urllib2`库来发送HTTP ...

    易语言视频地址解析源码.zip易语言项目例子源码下载

    正则表达式用于匹配特定模式的字符串,而DOM解析则可以更结构化地处理HTML元素,这两种方法在网页抓取和信息提取中都非常常见。 3. **数据解码与加密**:如果视频地址经过了加密处理,源码中可能包含了相应的解密...

    C#获取网页标题信息

    在本文中,我们将深入探讨如何使用C#编程语言来获取网页的标题信息。这个过程涉及到网络编程和HTML解析,是Web开发中一个基础且实用的技能。C#提供了丰富的类库,如`System.Net`和`System.Text.RegularExpressions`...

    毕业设计论文-IT计算机-[其他类别]WebSpider蓝蜘蛛网页抓取 v5.1_webspider-源码.zip

    标题和描述中提到的是一个名为"WebSpider蓝蜘蛛网页抓取 v5.1"的毕业设计项目,它包含了源代码,并且是基于JAVA后台开发的。这个项目很可能是一个网络爬虫软件,用于自动化地从互联网上抓取网页数据。"v5.1"表示这是...

    网站图片爬虫_python爬虫_

    4. **正则表达式(regex)**:在某些情况下,可能需要使用正则表达式从HTML源码中匹配图片URL,特别是在没有解析库可用或者需要定制化提取规则时。 5. **BeautifulSoup结合正则表达式**:在解析复杂结构的HTML页面...

    C++网页采集软件1.zip

    在本项目"C++网页采集软件1.zip"中,主要涉及的是使用C++语言开发的网页采集工具。...通过深入研究源代码和使用说明,我们可以了解和掌握C++在大数据采集领域的应用,提升我们的编程技能和解决问题的能力。

    guanguan5.6源代码.rar_关关_关关5.6_关关5.6源代码_关关源代码_关关采集

    它通过模拟浏览器行为,发送HTTP请求到目标网站,获取HTML或其他格式的网页内容,然后运用正则表达式或DOM解析技术提取所需信息。5.6版本的源代码中,我们可以看到对网络请求、页面解析、数据过滤和存储等关键模块的...

    python爬虫工程源码

    4. **正则表达式**:正则表达式(regex)常用于从文本中匹配特定模式,对于提取特定格式的数据非常有用。学习如何编写和使用正则表达式是爬虫开发者必备的技能之一。 5. **数据存储**:爬取的数据通常需要保存到...

    Python-基于python开发的批量下载某网站pdf文档

    3. **正则表达式(re模块)**:在HTML源码中查找PDF链接时,可能需要使用正则表达式匹配特定格式的URL。例如,PDF链接通常以".pdf"结尾,可以编写相应的正则表达式进行匹配。 4. **循环与条件判断**:为了批量下载...

    网页提取源代码

    网页提取源代码是一个常见的任务,尤其对于数据抓取、网页分析和自动化测试等领域。在VS2008环境下,我们可以使用各种编程语言如C#或VB.NET来实现这个功能。以下是一些关于如何进行网页源代码提取的关键知识点: 1....

    Python爬虫案例分享,抓取网页内容,聚焦爬虫和UA伪装实操案例分享

    本案例分享将带你深入理解Python爬虫的基本原理,并通过实践操作,掌握如何利用requests模块抓取网页内容,同时探讨聚焦爬虫和反扒技术,如UA伪装的应用。 首先,Python中的requests模块是进行HTTP请求的常用工具,...

Global site tag (gtag.js) - Google Analytics