Jumony快速抓取网页 --- Jumony使用笔记--icode



作者:郝喜路   个人主页:http://www.cnicode.com      博客地址:http://haoxilu.cnblogs.com    时间:2014年6月26日 19:25:02



  刚刚在博客园 看到一篇博文《使用HttpWebRequest和HtmlAgilityPack抓取网页(拒绝乱码,拒绝正则表达式)》  ,感觉不错,作者写的也挺好的,然后在看了园子里的朋友的评论后,我知道了有一个更牛x的工具——Jumony 。这个工具用起来可谓称之为简单、高效。 特此记录和分享,Jumony 的使用方法。

  Jumony是开源项目,目前源代码存放咋GitHub ,源码地址: https://github.com/Ivony/Jumony 。我测试使用的是Visual Studio 2012 ,测试网页为博客园。

  下面介绍使用方法:

  一、在新建项目后,需要将Jumony添加到项目中,你可以下载源码使用,也可以在NugGet 中 搜索 Jumony Core 将其添加到项目中并且后自动添加所需的引用。

  二、添加引用之后,即可写项目代码。(此处代码为获取  博客园首页文章内容)

  

 1  public string Html = string.Empty;//为将拼接好html字符串返回给前台代码
 2         protected void Page_Load(object sender, EventArgs e)
 3         { 5             var htmlSource = new JumonyParser().LoadDocument("http://www.cnblogs.com").Find(".post_item a.titlelnk");
 6             int count = 0;
 7             foreach (var htmlElement in htmlSource)
 8             {
 9                 count ++;
10                 Html += string.Format(" <li>{2}、&nbsp;&nbsp;<a href=\"About.aspx?Url={0}\" target=\"_blank\">{1}</a></li>", htmlElement.Attribute("href").Value(), htmlElement.InnerText(),count);
11             }
12         }

  效果图:

       

  三、下面就是要在点击上图从博客园抓取的文章标题之后,在显示博客全文(并非在打开博客园的文章)

    代码:   

1   string html = Request["Url"];
2             var htmlSource =
3                 new JumonyParser().LoadDocument(html);
4             HtmlText = htmlSource.Find(".postTitle2").FirstOrDefault().InnerText();
5
6             Html = htmlSource.Find("#cnblogs_post_body").FirstOrDefault().InnerHtml();

效果图:

  到此,网页抓取写完了,没有什么深奥的道理,只是把他的使用方法简单的把代码贴出来了,还没有研究其源码,有时间需要深究一下。

  Jumony更多的使用方式请参见博客 http://www.cnblogs.com/Ivony/p/3447536.html

  

  本次演示Jumony快速开发的代码如下(在百度云盘,请自行下载:):

    http://pan.baidu.com/s/1COuCI

  谢谢!

Jumony快速抓取网页 --- Jumony使用笔记--icode

时间: 2024-10-24 07:22:38

Jumony快速抓取网页 --- Jumony使用笔记--icode的相关文章

Wireshark学习笔记——如何快速抓取HTTP数据包

0.前言 在火狐浏览器和谷歌浏览器中可以非常方便的调试network(抓取HTTP数据包),但是在360系列浏览器(兼容模式或IE标准模式)中抓取HTTP数据包就不那么那么方便了.虽然也可使用HttpAnalyzer等工,但是毕竟都是收费软件.只需通过合适的过滤和操作,Wireshark也可抓取HTTP请求和响应.下面便说明具体操作. 假设在8080端口运行一个HTTP服务器,本例中使用Python Flask运行一个HTTP服务并侦听8080端口,实现一个简单的加法运算,网页中通过ajax提交

用python做网页抓取与解析入门笔记[zz]

(from http://chentingpc.me/article/?id=961) 事情的起因是,我做survey的时候搜到了这两本书:Computational Social Network Analysis和Computational Social Network,感觉都蛮不错的,想下载下来看看,但是点开网页发现这个只能分章节下载,晕,我可没时间一章一章下载,想起了迅雷的下载全部链接,试试看,果真可以把他们一网打尽,但是,sadly,迅雷下载的时候,文件名没办法跟章节名对应起来,晕,我可

python学习笔记-抓取网页图片脚本

初学者一枚,代码都是模仿网上的.亲测可用~ 运行脚本的前提是本机安装了httplib2模块 #!/usr/bin/python import os import re import string import urllib #author:reed #date:2014-05-14 def GetWebPictures(): url=raw_input('please input the website you want to download:') imgcontent=urllib.urlo

java抓取网页数据,登录之后抓取数据。

最近做了一个从网络上抓取数据的一个小程序.主要关于信贷方面,收集的一些黑名单网站,从该网站上抓取到自己系统中. 也找了一些资料,觉得没有一个很好的,全面的例子.因此在这里做个笔记提醒自己. 首先需要一个jsoup的jar包,我用的1.6.0..下载地址为:http://pan.baidu.com/s/1mgqOuHa 1,获取网页内容(核心代码,技术有限没封装). 2,登录之后抓取网页数据(如何在请求中携带cookie). 3,获取网站的ajax请求方法(返回json). 以上这三点我就用一个类

快速抓取某个网站内容方法

是不是有人相抓取网页上面的内容,放到别的网站上面.下面我给大家介绍一种最常用的方法: 用HtmlAgilityPack 组件. public String GetHtml() { string url = "http://t.news.fx168.com/"; HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest; using (HttpWebResponse response = request.G

【.NET】使用HtmlAgilityPack抓取网页数据

原文:[.NET]使用HtmlAgilityPack抓取网页数据 刚刚学习了XPath路径表达式,主要是对XML文档中的节点进行搜索,通过XPath表达式可以对XML文档中的节点位置进行快速定位和访问,html也是也是一种类似于xml的标记语言,但是语法没有那么严谨,在codeplex里有一个开源项目HtmlAgilityPack,提供了用XPath解析HTML文件,下面掩饰如何使用该类库的使用 首先说下XPath路径表达式 XPath路径表达式 用来选取XML文档中的节点或节点集的 1.术语:

Asp.net 使用正则和网络编程抓取网页数据(有用)

Asp.net 使用正则和网络编程抓取网页数据(有用) /// <summary> /// 抓取网页对应内容 /// </summary> /// <param name="strUrl">採集地址</param> /// <param name="Begin">開始字符</param> /// <param name="End">结束字符</param&g

python多线程实现抓取网页

Python实现抓取网页 下面的Python抓取网页的程序比较初级,只能抓取第一页的url所属的页面,只要预定URL足够多,保证你抓取的网页是无限级别的哈,下面是代码: ##coding:utf-8 ''' 无限抓取网页 @author wangbingyu @date 2014-06-26 ''' import sys,urllib,re,thread,time,threading ''' 创建下载线程类 ''' class download(threading.Thread): def __

抓取网页链接

package com.smilezl.scrapy; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.sql.Connection; import java.sql.DriverManager; import java.sq