http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 11480|回复: 5

[HttpHelper] 网页内容获取

[复制链接]
发表于 2014-9-6 08:28:57 | 显示全部楼层 |阅读模式
1金钱
苏老师:
       以下内容是从一网站上获取的HMTL源码中的一部分,请问如何获取其中的"日本历史观中的慰安妇问题",该网页中这样的段落很多。望指点一二为谢!

<div class="focusImg"><a href="http://dajia.qq.com/blog/430281004345066" target="_blank" boss="{id:1220, sBiz:'dajia_web', name:'right_focus', sBak1:'home', sBak2:'_no_login_'}"><img src="http://img1.gtimg.com/cul/pics/hv1/161/174/1698/110456981.jpg" /><h2>日本历史观中的慰安妇问题</h2><h3>作者:张石</h3></a></div><div class="teamList tj">



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-9-6 10:41:58 | 显示全部楼层
如果整个页中只有一个<h2></h2>的话,用正则<h2>([\s\S]*?)</h2>
然后groups取1

[C#] 纯文本查看 复制代码
string Html = "<div class=\"focusImg\"><a href=\"http://dajia.qq.com/blog/430281004345066\" target=\"_blank\" boss=\"{id:1220, sBiz:'dajia_web', name:'right_focus', sBak1:'home', sBak2:'_no_login_'}\"><img src=\"http://img1.gtimg.com/cul/pics/hv1/161/174/1698/110456981.jpg\" /><h2>日本历史观中的慰安妇问题</h2><h3>作者:张石</h3></a></div><div class=\"teamList tj\">";
            Regex re = new Regex(@"<h2>([\s\S]*?)</h2>");
            MatchCollection mc = re.Matches(Html);
            foreach (Match m in mc)
            {
                MessageBox.Show(m.Groups[1].Value);
            }
回复

使用道具 举报

 楼主| 发表于 2014-9-6 11:01:49 | 显示全部楼层
谢谢你的回复。真心的感谢!可能是我的问题没有说清楚!是这样的
我要从一个网站中抓取 <div class=\"focusImg\"><a href=\"http://dajia.qq.com/blog/430281004345066\" target=\"_blank\" boss=\"{id:1220, sBiz:'dajia_web', name:'right_focus', sBak1:'home', sBak2:'_no_login_'}\"><img src=\"http://img1.gtimg.com/cul/pics/hv1/161/174/1698/110456981.jpg\" /><h2>日本历史观中的慰安妇问题</h2><h3>作者:张石</h3></a></div><div class=\"teamList tj\">

其中的a href=\"http://dajia.qq.com/blog/430281004345066 的"网址" 和 与该网址对应的"解说词" <h2>日本历史观中的慰安妇问题</h2>

该网站中这样的网址和解说词有几十处。限于篇幅,我只复制了其中的一段。 而解说词中的可能是h2也可能是h3
回复

使用道具 举报

 楼主| 发表于 2014-9-6 11:04:52 | 显示全部楼层
"网址"已取出,就是“解说词”不知该如何获取?
private void button2_Click(object sender, EventArgs e)
        {
            HtmlDocument htmldocument = webBrowser1.Document;
            HtmlElementCollection hc = htmldocument.GetElementsByTagName("a");
            listView1.Items.Clear();
           // Hashtable hash = new Hashtable();


            foreach (HtmlElement html in hc)
            {
                try
                {
                    //hash.Add(html.GetAttribute("href").ToString(), null);
                    string filepath = html.GetAttribute("href").ToString();

                    if (filepath.Contains("blog"))
                    {
                    string[] file = filepath.Split('/');

                    ListViewItem item = new ListViewItem(new string[] { (listView1.Items.Count + 1).ToString(), file[file.Length - 1], filepath });
                    listView1.Items.Add(item);
                    }

                }
                catch (Exception)
                {

                }



            }
        }
回复

使用道具 举报

发表于 2014-9-6 11:38:37 | 显示全部楼层
用正则,你自己都说了文章很长,但你就给一部分,我们做出来了,你又说还有其他地方,那我建议你一下贴出来,或者你把可能性的情况说清楚,这样大家直接就帮你写个正则完事。这个使用正则最方便,
回复

使用道具 举报

 楼主| 发表于 2014-9-6 12:20:26 | 显示全部楼层
谢了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-24 19:44

© 2014-2021

快速回复 返回顶部 返回列表