mshtml获取meta信息-创新互联

为了计算文本与标题相似度,需要用到标题文本。而爬数据的时候将文件名设置为url而没有用网页标题来存,所以需要解析网页提取,工程在.net平台下利用webbrowser实现的,用到了微软的mshtml。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请雅安服务器托管、营销软件、网站建设、武威网站维护、网站推广。

用IHTMLDocument2.title倒是可以获得标题,但是它取得的标题有时会包含网站名如: Colorado shooting suspect sent to trial | World news | guardian.co.uk

为了计算准确,希望只有当前主题网页中的标题就是只有Colorado shooting suspect sent to trial。观察html发现一般主题网页的meta信息中会有不包含网站名的title,在格式如下的一个标签里<meta property="og:title" content="Colorado shooting suspect sent to trial"/>。于是用正则匹配IHTMLElement的outerhtml,尝试各种正则都没匹配到。

原来outerhtml中只有body结点中的html,并不包含meta信息。然后google查有什么方法获得meta中的内容,发现一个解决方法http://forums.asp.net/p/1455331/3332061.aspx。关键代码贴在这里:

  1. foreach (IHTMLElement el in (IHTMLElementCollection)doc.all) 
  2.        { 
  3.            // check to see if all the desired attributes were found with the correct values 
  4.            bool qualify = true; 
  5.            if (el.tagName == "META") 
  6.            { 
  7.                HTMLMetaElement meta = (HTMLMetaElement)el; 
  8.                Response.Write("Content " + meta.content +"<br/>"); 
  9.            } 

利用IHTMLDocument2可以获得所有标签信息,包括meta中的。然后再用正则或者字符串匹配在其中找相应的title信息,完成。

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。

分享名称:mshtml获取meta信息-创新互联
当前路径:https://www.cdcxhl.com/article10/ddgsgo.html

成都网站建设公司_创新互联,为您提供静态网站网站设计企业建站搜索引擎优化关键词优化自适应网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营