如何读取内容是网页源代码形式的.txt文本?
.txt里面的内容大概就是下面这样的源码形式,我要怎么把按照正常的(也就是标题+内容)的格式读取出来呢?<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>男女幽默笑话 - 开心幽默网</title>
<link type="text/css" href="/skins/003/style/list.css" rel="stylesheet" />
<style type="text/css">
.fenye li{ float:left; margin-left:10px;}
</style>
</head>
<body>
<!--头部-->
{全局:公共头部}<div class="top">
<div class="logo"><a href="/"><img src="/skins/003/style/logo.gif" width="232px" height="54" border="0" /></a></div>
<div class="ad_1">
</div>
</div>
<!--导航-->
<div class="bar">
<div class="barleft"> </div>
<div class="barcenter">
<div class="barbtn">
<a href="/" class="barbtnM">网站首页</a><span class="rowlineN"></span>
<a class="barbtnN" href="/list_1.html">男女幽默笑话</a><span class="rowline"></span>
<a class="barbtnN" href="/list_2.html">幽默笑话集锦</a><span class="rowline"></span>
<a class="barbtnN" href="/list_3.html">幽默笑话精选</a><span class="rowline"></span>
<a class="barbtnN" href="/list_4.html">幽默笑话大全</a><span class="rowline"></span>
<a class="barbtnN" href="/list_5.html">最新幽默笑话</a><span class="rowline"></span>
<a class="barbtnN" href="/list_6.html">爱情幽默笑话</a><span class="rowline"></span>
两种方法
第一用正则表达式匹配Regex regex = new Regex("匹配的内容");
第二,直接弄成html格式 , 然后用webbrowser 直接拿到标题
如果webbrowser 拿不到标题的话也可以用正则
用正则的话 你可以参考
C#获取IP归属地【使用抓取网页内容方式】
http://www.ibcibc.com/forum.php?mod=viewthread&tid=3494&fromuid=1
(出处: C#论坛-C#教程,ASP.NET教程)
ibcadmin 发表于 2014-5-6 14:45
两种方法
第一用正则表达式匹配Regex regex = new Regex("匹配的内容");
我知道用正则,但是我不懂怎么实现 string read = "你读取的文本";
Regex regex = new Regex("<title>(?<title>.*?)</title>");//匹配你的正则 , 就照我这个写
if (regex.IsMatch(read))
{
read = regex.Match(read).Groups["title"].Value;
} 执行到这里如果正则没问题的话read已经是你的标题了
ibcadmin 发表于 2014-5-6 15:14
string read = "你读取的文本";
Regex regex = new Regex("(?.*?)" ...
谢谢,那内容下面的呢? 格式:<a class="barbtnN" href="/list_*.html">(?<title>.*?)</a><span class="rowline"></span>
应该是这样 格式:<a class="barbtnN" href="/list_*.html">(?<title>.*?)</a><span class="rowline"></span>
应该是这样 ibcadmin 发表于 2014-5-6 15:39
格式:(?.*?)
应该是这样
大神,能详细点吗? string read = "你读取的文本";
string title ="";//声明变量 保存标题string content="";//声明变量 保存内容
Regex regex = new Regex("<title>(?<title>.*?)</title>");//匹配标题
if (regex.IsMatch(read))
{
title= regex.Match(read).Groups["title"].Value;
}
regex = new Regex("<a class=\"barbtnN\" href=\"/list_(?<a>.*?).html\">(?<title>.*?)</a><span class=\"rowline\"></span> ");//匹配内容
if (regex.IsMatch(read))
{
content= regex.Match(read).Groups["title"].Value;
}
title跟 content 分别就是标题跟内容了
ibcadmin 发表于 2014-5-6 16:07
string read = "你读取的文本";
string title ="";//声明变量 保存标题string content=""; ...
好的,谢谢,我试试
页:
[1]