上个星期开会说现在中国的垃圾邮件很赚钱啊。我也很想多赚点钱。不过做技术的都很死板。脑壳不灵活。只能多研究研究一些方法来实现这样子那样的程序代码,搜集整理的两天。终于找到自己想要的代码。不很完善多多改进就好了。
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语言结合正则表达式,实现了从网页中抓取特定内容并存储为CSV(Comma-Separated Values)文件的功能。下面我们将深入探讨Java中的正则表达式以及如何与CSV文件操作相结合。 1....
在这个“正则表达式最简单demo”中,我们将关注如何使用正则表达式在网络爬虫中抓取域名信息。下面将详细解释正则表达式的概念以及在Java编程语言中实现的基本步骤。 首先,理解正则表达式的核心概念: 1. **字符...
- **数据分析**:抓取网页源码后可以通过正则表达式或DOM解析等方式提取出有用的数据,进行进一步分析。 - **内容聚合**:将多个来源的数据整合在一起,提供更全面的信息展示。 - **监测与预警**:定期抓取特定页面...
网页文字抓取器是一种工具,主要用于从互联网上的网页中批量提取文字内容。这种工具在数据挖掘、信息分析、搜索引擎优化(SEO)等领域有着广泛的应用。它能够自动化地爬取网页,解析HTML,提取出纯文本,帮助用户...
正则表达式在这种情况下非常有用,可以匹配符合电子邮件地址模式的字符串。Java的`java.util.regex`包提供了正则表达式的实现,可以通过编译正则模式来查找Email。 在实际项目中,为了避免抓取到无效或重复的URL,...
在抓取黄页数据时,程序可能使用正则表达式来定位和提取特定字段,如联系人姓名、电话号码和电子邮件地址等。 3. **数据存储**: 抓取到的500万条数据需要有效地存储和管理。这可能涉及数据库技术,如MySQL、...
在C#编程语言中,获取网页标题是一项常见的任务,特别是在进行网页抓取或者网络爬虫开发时。这个项目是基于Visual Studio 2008(VS2008)环境编译并测试通过的,因此我们可以预期代码兼容.NET Framework 3.5。接下来...
项目中多次使用了正则表达式来解析和提取网页内容,如: - `(.*?)</p>`:用于匹配HTML标签内的文本内容。 - `src="(.*?)"`:用来提取图片的源地址。 这些正则表达式的应用使得程序能够高效地从大量的HTML代码中...
- `re`:提供正则表达式匹配功能,用于提取网页中的特定信息。 对于Python 3.x,`urllib2`已经被拆分为多个模块,如`urllib.request`等。 #### 知识点二:构建HTTP请求 代码片段中使用了`urllib2`库来发送HTTP ...
正则表达式用于匹配特定模式的字符串,而DOM解析则可以更结构化地处理HTML元素,这两种方法在网页抓取和信息提取中都非常常见。 3. **数据解码与加密**:如果视频地址经过了加密处理,源码中可能包含了相应的解密...
在本文中,我们将深入探讨如何使用C#编程语言来获取网页的标题信息。这个过程涉及到网络编程和HTML解析,是Web开发中一个基础且实用的技能。C#提供了丰富的类库,如`System.Net`和`System.Text.RegularExpressions`...
标题和描述中提到的是一个名为"WebSpider蓝蜘蛛网页抓取 v5.1"的毕业设计项目,它包含了源代码,并且是基于JAVA后台开发的。这个项目很可能是一个网络爬虫软件,用于自动化地从互联网上抓取网页数据。"v5.1"表示这是...
4. **正则表达式(regex)**:在某些情况下,可能需要使用正则表达式从HTML源码中匹配图片URL,特别是在没有解析库可用或者需要定制化提取规则时。 5. **BeautifulSoup结合正则表达式**:在解析复杂结构的HTML页面...
在本项目"C++网页采集软件1.zip"中,主要涉及的是使用C++语言开发的网页采集工具。...通过深入研究源代码和使用说明,我们可以了解和掌握C++在大数据采集领域的应用,提升我们的编程技能和解决问题的能力。
它通过模拟浏览器行为,发送HTTP请求到目标网站,获取HTML或其他格式的网页内容,然后运用正则表达式或DOM解析技术提取所需信息。5.6版本的源代码中,我们可以看到对网络请求、页面解析、数据过滤和存储等关键模块的...
4. **正则表达式**:正则表达式(regex)常用于从文本中匹配特定模式,对于提取特定格式的数据非常有用。学习如何编写和使用正则表达式是爬虫开发者必备的技能之一。 5. **数据存储**:爬取的数据通常需要保存到...
3. **正则表达式(re模块)**:在HTML源码中查找PDF链接时,可能需要使用正则表达式匹配特定格式的URL。例如,PDF链接通常以".pdf"结尾,可以编写相应的正则表达式进行匹配。 4. **循环与条件判断**:为了批量下载...
网页提取源代码是一个常见的任务,尤其对于数据抓取、网页分析和自动化测试等领域。在VS2008环境下,我们可以使用各种编程语言如C#或VB.NET来实现这个功能。以下是一些关于如何进行网页源代码提取的关键知识点: 1....
本案例分享将带你深入理解Python爬虫的基本原理,并通过实践操作,掌握如何利用requests模块抓取网页内容,同时探讨聚焦爬虫和反扒技术,如UA伪装的应用。 首先,Python中的requests模块是进行HTTP请求的常用工具,...