网页信息抓取

问题描述

已经获得了网页代码,现在正则表达式不知道如何去写,去获取我想要的内容。以下图片表格中为想要获取的内容。URL为http://www.zjzwfw.gov.cn/zjzw/admins/article/articleshow.do?itemId=9630&mainCode=01178&deptId=001003002&category=其他行政权力下面是后台代码publicvoidGetGeneralContent(){stringstrUrl=txtwz.Text.Trim();WebRequestrequest=WebRequest.Create(strUrl);WebResponseresponse=request.GetResponse();StreamReaderreader=newStreamReader(response.GetResponseStream(),Encoding.GetEncoding("gb2312"));//reader.ReadToEnd()表示取得网页的源码MatchCollectionTitleMatchs=Regex.Matches(reader.ReadToEnd(),@"正则表达式",RegexOptions.IgnoreCase|RegexOptions.Multiline);stringmc="";foreach(MatchNextMatchinTitleMatchs){mc+=NextMatch.Groups[1].Value;}//想获取名称(mc)、类别、行政主体、行使层次、实施依据、备注的内容,获取成功后,insert到数据库中。reader.Close();reader.Dispose();response.Close();}protectedvoidbtnSave_Click(objectsender,EventArgse){GetGeneralContent();}刚学习.net,不知道写的对不对,说明白否,希望大家帮帮忙哈。

解决方案

解决方案二:

[TestMethod]publicvoidGetHtmlContent(){stringurl="http://www.zjzwfw.gov.cn/zjzw/admins/article/articleshow.do?itemId=9630&mainCode=01178&deptId=001003002&category=%E5%85%B6%E4%BB%96%E8%A1%8C%E6%94%BF%E6%9D%83%E5%8A%9B";HtmlDocumentdoc=newHtmlDocument();doc.LoadHtml(HttpHelper.Get(url));varmainNode=doc.DocumentNode;WriteText(mainNode,"类别","/html/body/table[3]/tr/td/table[4]/tr/td/table[3]/tr/td/table[1]/tr/td[2]");WriteText(mainNode,"浙江省发展和改革委员会","/html/body/table[3]/tr/td/table[4]/tr/td/table[3]/tr/td/table[2]/tr/td[2]");WriteText(mainNode,"行使层级","/html/body/table[3]/tr/td/table[4]/tr/td/table[3]/tr/td/table[2]/tr/td[4]");WriteText(mainNode,"实施依据","/html/body/table[3]/tr/td/table[4]/tr/td/table[3]/tr/td/table[3]/tr/td[2]/p");WriteText(mainNode,"备注","/html/body/table[3]/tr/td/table[4]/tr/td/table[3]/tr/td/table[4]/tr/td[2]");}publicvoidWriteText(HtmlNodenode,stringname,stringxpath){vartextNode=node.SelectSingleNode(xpath);stringtext=string.Empty;if(textNode!=null){text=StringHelper.FilterHTML(textNode.InnerText).Trim();}Console.WriteLine(name+":"+text);}

使用组件HtmlAgilityPack
解决方案三:

这是xpath的获取方式,chrome会自动为table添加tbody使用的时候可能要去掉tbody。
解决方案四:

zhcnlei:其中HttpHelper和StringHelper,都提示不存在,这个是怎么回事啊,谢谢。
解决方案五:

学习正则表达式吧

时间: 2024-06-12 11:18:18

网页信息抓取的相关文章

asp.net 火车票源信息抓取系统

asp教程.net 火车票源信息抓取系统 一.系统功能:         1.每隔一定时间从网络抓取一次最新的票源信息:         2.支持根据关键字筛选票源信息:         3.支持抓取时间间隔设置:         4.支持票源网址链接:   二.运行环境:         1.net2.0框架及以上:         2.ie6.0及以上:   三.实现思路:         1.设置抓取的地址与解析的方式   public static list<site> getdefa

方法-淘宝预售商品库存信息抓取

问题描述 淘宝预售商品库存信息抓取 之前写了一个查询淘宝预售商品库存的代码,其实就是用其中的一个网址进行查询,然后进行正则匹配. 例如:商品链接为:http://item.taobao.com/item.htm?id=42321778951其中,http://detailskip.taobao.com/json/sib.htm?itemId=--这个链接记录的是库存信息. 但是淘宝把这个规则改了,现在无法通过这个链接查询到预售商品的库存了. 各位有什么好的方法吗?谢谢! 解决方案 页面不是有个

编程-如何从网页上抓取我想要的图片?

问题描述 如何从网页上抓取我想要的图片? 例如上面是腾讯搜狗问问个人中心的画面我想要里面的图片可以抓到吗? 解决方案 直接用IE F12,找到图片元素,得到地址,就可以抓.也可以另存为网页,然后在文件夹中找.

页面数据抓取-关于网页表格抓取问题,用什么软件

问题描述 关于网页表格抓取问题,用什么软件 我要抓取的是一个系统内部网页,不能外部访问,数据表格的链接插入有插件.怎么能实现动态抓取??大神啊 解决方案 用抓包的方法最好,然后再分析数据,如果不行,可以考虑用webbrowse这个控件,里面的内容也比较好抓取

java在网页上面抓取邮件地址的方法_java

本文实例讲述了java在网页上面抓取邮件地址的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.net.URL;  import java.util.regex.Matcher;  import java.util.regex.Pattern;    public class h1  {     public stati

网页抓取-ASP.NET网页动态抓取问题

问题描述 ASP.NET网页动态抓取问题 本人在做网页抓取程序,由于抓取的内容,源代码里是看不到的, 用WINFORM是可以用WebBrowser这样实现的..我想知道用ASP.NET的话,有没有能达到这个效果的方法, 我试了 HttpWebRequest,, 但是没找到操作DOM元素的方法. 解决方案 获取出来的是html文本,你可以用正则表达式过去想要的内容! 解决方案二: 如果你需要用DOM,可以用HtmlAgilityPackhttp://htmlagilitypack.codeplex

Java---网络蜘蛛-网页邮箱抓取器~源码

刚刚学完Socket,迫不及待的做了这个网页邮箱抓取~~~ 自己以前做过微商,而且还掏钱买过抓取网络邮箱的软件~现在O(∩_∩)O哈哈~我自己做~当然啦,没有别人做得好~只是功能还是差不多啦~ 给一个带协议的网站~然后深入网页中查找邮箱~ 因为博主知识有限~线程池目前还没有学~导致无法控制线程~~~见谅~ 还有~就是没有设置停止按钮~也是因为没学线程池~水平不够啊~ 只能关闭软件来停止程序~ package cn.hncu.bs; import java.io.BufferedOutputStr

利用Jsoup解析网页及抓取数据的简单应用

最近一直在公司利用爬虫技术,去抓取一些网页查询网站备案信息,刚开始使用HttpClient 和 jericho (这两个也挺好用你可以去测试一下).但是后来发现了Jsoup,他和Jquery很相似,在搜节点上使用的技术几乎相似.所以凡是使用过Jquery的都可以去尝试使用Jsoup去解析抓取数据.下面举个例子我们去抓去所有公交车的信息(哥是郑州的哈). 在解析之前你需要jar包,你可以去http://jsoup.org/直接下载.如果使用maven更方便 只需引进依赖 例如 <dependenc

使用Ruby程序实现web信息抓取的教程_ruby专题

网站不再单单迎合人类读者.许多站点现在支持一些 API,这些 API 使计算机程序能够获取信息.屏幕抓取 -- 将 HTML 页面解析为更容易理解的表单的省时技术 - 仍然很方便.但使用 API 简化 Web 数据提取的机会在快速增多.根据 ProgrammableWeb 的信息,在本文发表时,已存在 10,000 多个网站 API - 在过去的 15 个月中增加了 3,000 个.(ProgrammableWeb 本身提供了一个 API,可从其目录中搜索和检索 API.mashup.成员概要文