Java爬虫,信息抓取的实现

本文介绍了使用Java和Jsoup库进行网页数据抓取的方法,包括观察查询URL、定义Rule类来存储查询信息,以及如何处理抓取结果。提供源码下载链接。
摘要由CSDN通过智能技术生成
               

转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/23272657

今天公司有个需求,需要做一些指定网站查询后的数据的抓取,于是花了点时间写了个demo供演示使用。

思想很简单:就是通过Java访问的链接,然后拿到html字符串,然后就是解析链接等需要的数据。

技术上使用Jsoup方便页面的解析,当然Jsoup很方便,也很简单,一行代码就能知道怎么用了:

 Document doc = Jsoup.connect("http://www.oschina.net/")   .data("query", "Java")   // 请求参数  .userAgent("I ’ m jsoup") // 设置 User-Agent   .cookie("auth", "token") // 设置 cookie   .timeout(3000)           // 设置连接超时时间  .post();                 // 使用 POST 方法访问 URL 
下面介绍整个实现过程:

1、分析需要解析的页面:

网址:http://www1.sxcredit.gov.cn/public/infocomquery.do?method=publicIndexQuery

页面:

先在这个页面上做一次查询:观察下请求的url,参数,method等。

这里我们使用chrome内置的开发者工具(快捷键F12),下面是查询的结果:


我们可以看到url,method,以及参数。知道了如何或者查询的URL,下面就开始代码了,为了重用与扩展,我定义了几个类:

1、Rule.java用于指定查询url,method,params等

package com.zhy.spider.rule;/** * 规则类 *  * @author zhy *  */public class Rule/**  * 链接  */ private String url; /**  * 参数集合  */ private String[] params; /**  * 参数对应的值  */ private String[] values; /**  * 对返回的HTML,第一次过滤所用的标签,请先设置type  */ private String resultTagName; /**  * CLASS / ID / SELECTION  * 设置resultTagName的类型,默认为ID   */ private int type = ID ;  /**  *GET / POST  * 请求的类型,默认GET  */ private int requestMoethod = GET ;   public final static int GET = 0public final static int POST = 1 ;  public final static int CLASS = 0public final static int ID = 1public final static int SELECTION = 2public Rule() { }  public Rule(String url, String[] params, String[] values,   String resultTagName, int type, int requestMoethod) {  super();  this.url = url;  this.params = params;  this.values = values;  this.resultTagName = resultTagName;  this.type = type;  this.requestMoethod = requestMoethod; } public String getUrl() {  return url; } <
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值