html 爬数据,简单爬取html页面的表格中的数据

编程入门 行业动态 更新时间:2024-10-28 10:26:32

html 爬<a href=https://www.elefans.com/category/jswz/34/1771445.html style=数据,简单爬取html页面的表格中的数据"/>

html 爬数据,简单爬取html页面的表格中的数据

关于爬虫方面本人小白一个,通过无所不能的度娘,从中汲取营养,得到一个简单的能用的例子,在这分享一下,供大家一起汲取.

首先说一下,你想从一个页面中获取到你想要的数据,首先你要先得到这个页面.然后把获取到的页面

使用Jsoup解析成 Document对象 之后进行一系列的操作.文字功底有限,直接上代码:

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.select.Elements;

import java.io.*;

import java.net.URL;

import java.net.URLConnection;

import java.util.ArrayList;

import java.util.List;

public class test {

public static void main(String[] args) throws IOException {

System.out.println("开始");

test d=new test();

String str=d.getHtml();

d.readHtml(str);

System.out.println("结束");

}

//这就是通过url获取整个页面 返回页面的字符串

public String getHtml() throws IOException {

StringBuffer buffer = new StringBuffer();

//连接的url

String urlpath=".html";

URL url = new URL(urlpath);

URLConnection conn = url.openConnection();

InputStream in =conn.getInputStream();

//字节流-》字符流 InputStreamReader

InputStreamReader reader = new InputStreamReader(in,"utf-8");

//按行 读出来

BufferedReader breader = new BufferedReader(reader);

//读取数据

String line = "";

while((line= breader.readLine())!=null)

{

buffer.append(line);

}

return buffer+"";

}

//读取页面的字符串

public void readHtml(String html){

//使用Jsoup解析html 成Document对象

Document document = Jsoup.parse(html);

//获取页面中table 的tr部分

Elements trs=document.select("table").select("tr");

List list=new ArrayList<>();

//输出的位置

File file =new File("d://xxxx.txt");

FileWriter fWriter= null;

if(!file.exists()) {

try {

file.createNewFile();

fWriter= new FileWriter(file);

fWriter.append("日期(北京)\t净持仓量(吨)\t总价值(美元)\t增减(吨)\t影响(金银)\r\n");

for (int i = 1; i < trs.size(); i++) {

Elements tds=trs.get(i).select("td");

Object[]obj={

tds.get(0).text(),

Double.parseDouble(tds.get(1).text()),

Double.parseDouble(tds.get(2).text()),

tds.get(3).text(),

tds.get(4).text()

};

list.add(obj);

String txt = "";

for (int j = 0; j < tds.size(); j++) {

if (txt == "") {

txt = tds.get(j).text();

}else {

txt = txt + "\t"+tds.get(j).text();

}

}

fWriter.append( txt+"\r\n");

fWriter.flush();

}

}catch (IOException e) {

e.printStackTrace();

}finally {

try {

fWriter.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

}

每天进步一点点,大家共勉

更多推荐

html 爬数据,简单爬取html页面的表格中的数据

本文发布于:2023-06-27 19:31:56,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/915959.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据   表格   页面   简单   html

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!