java爬虫--jsoup简单的表单抓取案例

来源:互联网 发布:电脑随机抽签软件 编辑:程序博客网 时间:2024/05/22 01:42

分析需求:
某农产品网站的农产品价格抓取


网站链接:点击打开链接


页面展示如上:



标签展示如上:


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

软件环境: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的tableElements el = doc.select("table.hq_table");// System.out.println(el);//遍历hq_table中的trfor (Element el2 : el) {Elements el3 = el2.select("tr.tr_color");//遍历tr中的tdfor (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


原创粉丝点击