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="http://www.dyhjw.com/dyhjw/etf.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页面的表格中的数据相关推荐
- python爬取下拉列表数据_python 抓取下拉列表控制的表格的所有数据
目标是抓取所有选项下的表格数据. 用开发者工具查看表格及选项框的构造: 下拉框是 标签组成的,用js实现动态切换,靠selenium很难实现定位和模拟点击. 解决方法:分析页面网络请求流,尝试抓取服务 ...
- ajax异步获取数据后动态向表格中添加数据的页面
因为某些原因,项目中突然需要做自己做个ajax异步获取数据后动态向表格中添加数据的页面,网上找了半天都没有 看到现成的,决定自己写个例子 1.HTML页面 [html] view plaincopyp ...
- c 语言如何处理表格文件中的数据库,C#程序从Excel表格中读取数据并进行处理
今天做了一个Excel表格数据处理的事情,因为数据量表较大(接近7000条)所以处理起来有点麻烦,于是写了一个程序, 先将程序记下以便将来查找. using System; using System. ...
- 用matlab处理表格,matlab删除excel表格数据-如何用matlab处理多个excel表格中的数据...
如何用matlab处理多个excel表格中的数据 biao='D:\Program Files\matlab\bin\filename.xls'; A1=xlsread (biao,'Sheet1', ...
- 筛选后系列填充_案例分享10——如何在筛选后的表格中粘贴数据(二)
首先要诚挚感谢一路关注和支持我的你们~ 今天凌晨,公众号关注量突破500,成功开通了流量主功能啦!相信细心的你们也注意到了文章底部的不同了~ 感谢大家的支持与肯定,我会从易到难,坚持分享Excel的操 ...
- Android-关于将Excel表格中的数据展示到手机屏幕上的解决方案
1.命题由来 前段时间,公司有个紧急需求,需要将一个原有的页面临时改版,新需求就是要将一个Excel的表格中的数据用一个列表展示出来,因为以前没接触过Excel这类转换的需求,所以还是有点懵的,而另一 ...
- java读取word表格中的数据_JAVA获取word表格中数据的方案
上一个项目的开发中需要实现从word中读取表格数据的功能,在JAVA社区搜索了很多资料,终于找到了两个相对最佳的方案,因为也得到了不少网友们的帮助,所以不敢独自享用,在此做一个分享. 两个方案分别是: ...
- 艺赛旗RPA 网页处理系列(四):网页表格中获取数据,并点击相应记录后的按钮操作说明总结
目前艺赛旗RPA已经更新到8.0版本,可以让所有用户免费下载试用http://www.i-search.com.cn/index.html?from=line1 (复制链接下载) 问题描述 最近有很多 ...
- 【唠叨两句】如何将一张树型结构的Excel表格中的数据导入到多张数据库表中...
小弟昨天遇到一个相对比较棘手的问题,就像标题说的那样.如何将一张树型结构的Excel表格中的数据导入到多张数据库表中,在现实中实际是七张数据库表,这七张表之间有着有着相对比较复杂的主外键关系,对于我这 ...
最新文章
- java 自带thread分析工具_java自带的jvm分析工具
- js 自动关闭html页面,JS关闭窗口或JS关闭页面的几种代码分享
- hdu 1050 Moving Tables
- java 制作类似DOS功能
- python全栈-Day 1
- 在Objective-C中,如何测试对象类型?
- Mysql优化(出自官方文档) - 第七篇
- 算法竞赛入门经典(第二版)习题代码语言篇(一)
- PS画实线、虚线箭头
- isee看图精灵下载
- 造价员容易漏算的100项内容
- 《.NET大局观》--嬗变的痛苦
- 直播预告|无监督学习的公平性研究——美国布兰迪斯大学助理教授刘洪甫
- 怎样用计算机放音乐,QQ音乐怎么用手机控制电脑放歌曲,qq音乐怎么连接电脑|qq音乐怎么用手机控制电脑...
- WxConn:统计微信好友数与加入群聊的人数
- VSCode创建工程文件
- 2022高教社杯思路汇总A题B题C题D题
- 微软CEO鲍尔默的一天(组图)
- MacBook Pro接通电源后电池不充电
- 透明多级分流系统(架构扫盲贴)