分析需求:

某农产品网站的农产品价格抓取

网站链接:点击打开链接

页面展示如上:

标签展示如上:

分析发现每日价格行情包括了蔬菜,水果,肉等所有的信息,所以直接抓每日行情的内容就可以实现抓取全部数据。

软件环境:eclipse,Jsoup包

下载地址:点击打开链接

密码:bmrr

抓取表单比较简单,直接用select选择标签即可。

实现:

完整代码如下:

package com.jsoup;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException; import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements; public class Shichang { public static void main(String[] args) throws IOException {
String url = "";
Document doc=null;
BufferedWriter bw = null; //文件输出路径
String path="f:\\cai.txt"; for (int i = 1; i <= 10; i++) {
url = "http://www.xinfadi.com.cn/marketanalysis/0/list/" + i + ".shtml"; //测试用的url
// url = "http://www.xinfadi.com.cn/marketanalysis/0/list/1.shtml"; //模拟浏览器
doc = Jsoup.connect(url)
.userAgent(
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31")
.timeout(6000 * 1000).get();
//找到名为hq_table的table
Elements el = doc.select("table.hq_table");
// System.out.println(el); //遍历hq_table中的tr
for (Element el2 : el) { Elements el3 = el2.select("tr.tr_color"); //遍历tr中的td
for (Element el4 : el3) {
Elements el5 = el4.select("td"); String rs = el5.text().toString().replace(" ", "\t");
//输出到控制台
System.out.println(rs); //输出到本地文件
bw = new BufferedWriter(new FileWriter(path,true));
bw.write(rs);
bw.newLine();
bw.flush();
bw.close();
} }
}
}
}

参考:http://www.open-open.com/jsoup/

http://blog.csdn.net/getchance/article/details/40423103

java爬虫--jsoup简单的表单抓取案例的更多相关文章

  1. 组件 layui 表单抓取数据四步走

    注意事项: layui 中提交按钮是基于"监听"机制实现的. form.on() 的调用需置于 layui.use 的回调函数中. 末尾的 'return false' 不可或缺, ...

  2. Java爬虫系列二:使用HttpClient抓取页面HTML

    爬虫要想爬取需要的信息,首先第一步就要抓取到页面html内容,然后对html进行分析,获取想要的内容.上一篇随笔<Java爬虫系列一:写在开始前>中提到了HttpClient可以抓取页面内 ...

  3. 【java学习】Servlet简单的表单程序(一)

    此文用于java学习,在此小记. 在此小Demo中使用到了Servlet,所以有必要了解一下Servlet的相关知识.(Servlet的相关知识摘抄自http://blog.csdn.net/jiuq ...

  4. Struts2之Action三种接收参数形式与简单的表单验证

    有了前几篇的基础,相信大家对于Struts2已经有了一个很不错的认识,本篇我将为大家介绍一些关于Action接收参数的三种形式,以及简单的表单验证实现,下面进入正题,首先我们一起先来了解一下最基本的A ...

  5. Maven web项目(简单的表单提交) 搭建(eclipse)

    我们将会搭建一个,基于Maven管理的,具有简单的表单提交功能的web项目,使用DAO--service--WEB三层结构,服务器使用Tomcat 1 项目基本结构的搭建 左上角File---> ...

  6. 带有两个输入字段和相关标记的简单 HTML 表单:

    带有两个输入字段和相关标记的简单 HTML 表单: 意思就是说Male 和id="male"绑定在一起. <html> <body>   <p> ...

  7. 用jQuery写的最简单的表单验证

    近几天完成了关于我们项目的最简单的表单验证,是用jQuery写的,由于之前也一直没学过jQuery,所以自己也是一直处于边摸索边学习的阶段,经过这一段时间的学习,通过查资料啥的,也发现了学习jQuer ...

  8. angularjs学习第四天笔记(第一篇:简单的表单验证)

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点 ...

  9. [WPF自定义控件库]简单的表单布局控件

    1. WPF布局一个表单 <Grid Width="400" HorizontalAlignment="Center" VerticalAlignment ...

随机推荐

  1. BZOJ-1012-[JSOI2008]最大数maxnumber(线段树)

    Description 现在请求你维护一个数列,要求提供以下两种操作:1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度.2. 插 ...

  2. 阿里云配置php环境 ubuntu12.04 32 nginx+php5+mysql

    最近几个客户都订购了阿里云服务器,如何配置服务器就比较重要了 比较喜欢ubuntu的系统,这里以12.04 32位来说 服务器配置采用 nginx+php5+mysql 首先是apt-get的更新 a ...

  3. 安卓App提交应用商店时遇到的两个小问题

    陆陆续续做了一个半月左右的「喵呜天气」终于在今天下午成功提交到应用商店(腾讯应用宝).期间遇到两个小问题,记录如下: 1.上传安装包失败,提示「无法获取签名信息,请上传有效包(110506)」. 安装 ...

  4. Kotlin实现《第一行代码》案例“酷欧天气”

    看过<第一行代码>的朋友应该知道“酷欧天气”,作者郭神用整整一章的内容来讲述其从无到有的过程. 最近正好看完该书的第二版(也有人称“第二行代码”),尝试着将项目中的Java代码用Kotli ...

  5. 550 Create directory operation failed

    往Linux系统中上传文件时候,我们经常会使用FTP连接Linux,也经常会使用mkdir命令来创建目录.最近发现用mkdir创建目录时提示550 Create directory operation ...

  6. Hexo + GitHub Pages搭建博客

    搭建 Node.js 环境 为什么要搭建 Node.js 环境? – 因为 Hexo 博客系统是基于 Node.js 编写的 Node.js 是一个基于 Chrome V8 引擎的 JavaScrip ...

  7. Python实战之实现简单的购物车系统

    #!usr/bin/env Python3 # -*-coding:utf-8-*- # 程序:购物车程序 # # 需求: # # 启动程序后,让用户输入工资,然后打印商品列表 # 允许用户根据商品编 ...

  8. ABP增删改查代码片段

    @using System.Web.Optimization @using MultiPageSimpleTask.Entitys.Dtos; @model IList<ProductDto&g ...

  9. ActiveMQ——activemq的详细说明,queue、topic的区别(精选)

    JMS中定义了两种消息模型:点对点(point to point, queue)和发布/订阅(publish/subscribe,topic).主要区别就是是否能重复消费. 点对点:Queue,不可重 ...

  10. Chloe.ORM框架应用实践

    Chloe.ORM 是国人开发的一款数据库访问组件,很是简单易用.目前支持四种主流数据库:SqlServer.MySQL.Oracle,以及Sqlite,作者为这四种数据库划分出了各自对应的组件程序集 ...