独轩求静 发表于 2014-5-6 13:23:49

如何读取内容是网页源代码形式的.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>


ibcadmin 发表于 2014-5-6 14:45:49

两种方法
第一用正则表达式匹配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教程)

独轩求静 发表于 2014-5-6 14:51:41

ibcadmin 发表于 2014-5-6 14:45
两种方法
第一用正则表达式匹配Regex regex = new Regex("匹配的内容");



我知道用正则,但是我不懂怎么实现

ibcadmin 发表于 2014-5-6 15:14:50

string read = "你读取的文本";
          Regex regex = new Regex("<title>(?<title>.*?)</title>");//匹配你的正则 , 就照我这个写
          if (regex.IsMatch(read))
          {
            read = regex.Match(read).Groups["title"].Value;
          }    执行到这里如果正则没问题的话read已经是你的标题了


独轩求静 发表于 2014-5-6 15:19:24

ibcadmin 发表于 2014-5-6 15:14
string read = "你读取的文本";
          Regex regex = new Regex("(?.*?)" ...

谢谢,那内容下面的呢?

ibcadmin 发表于 2014-5-6 15:38:41

格式:<a class="barbtnN" href="/list_*.html">(?<title>.*?)</a><span class="rowline"></span>

应该是这样

ibcadmin 发表于 2014-5-6 15:39:25

格式:<a class="barbtnN" href="/list_*.html">(?<title>.*?)</a><span class="rowline"></span>

应该是这样

独轩求静 发表于 2014-5-6 15:46:40

ibcadmin 发表于 2014-5-6 15:39
格式:(?.*?)

应该是这样

大神,能详细点吗?

ibcadmin 发表于 2014-5-6 16:07:15

         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 分别就是标题跟内容了



独轩求静 发表于 2014-5-6 16:15:09

ibcadmin 发表于 2014-5-6 16:07
string read = "你读取的文本";
   string title ="";//声明变量 保存标题string content=""; ...

好的,谢谢,我试试
页: [1]
查看完整版本: 如何读取内容是网页源代码形式的.txt文本?