[Java] 纯文本查看 复制代码[ 本帖最后由 shangjS009 于 2018-5-25 15:41 编辑 ]\n\n@RequestMapping(value = "${adminPath}/python/rFeichangzhun")

public class RFeichangzhunController extends BaseController {

private static CloseableHttpClient httpclient = HttpClients.createDefault(); // 创建一个客户端

private static String filename = "d:" + File.separator + File.separator

+ "zhuye.html"; // 定义输出html文件的路径

private static String filenames = "d:" + File.separator + File.separator

+ "xiangxi.html"; // 定义输出html文件的路径

private static String outfile = "d:" + File.separator + File.separator

+ "liudehua.csv"; // 定义输出csv文件的路径

private static boolean bfile = true; // 定义控制输出file的boolean变量

private static boolean bdb = true; // 定义控制输出file的boolean变量

private static ArrayList datalist = new ArrayList(); // 定义Arraylist类集用来保存每一条数据的信息

private static String headtitle = "航班信息,计划起飞,出发地,计划到达,到达地"; // 打印的标题头

private static int countrs = 0; // 计数变量

/**

* 输出html文件

*/

public static void htmltoFile(String htmlString) throws Exception {

// 获得文件输出流

FileOutputStream output = new FileOutputStream(filename);

// 以utf-8编码的形式输出到文件(utf-8是中文编码,ISO-8859-1是英文编码)

output.write(htmlString.getBytes("utf-8"));

if (output != null) {

output.close();

}

}

/**

* 下载页面

*/

public static String downloadPage(String url) throws Exception {

String htmlString = ""; // 定义返回的String变量

HttpGet request = new HttpGet(url); // 请求资源

CloseableHttpResponse response = httpclient.execute(request); // 得到回应

try {

System.out.println(response.getStatusLine()); // 打印状态码

HttpEntity entity = response.getEntity(); // 获得Entity对象

htmlString = EntityUtils.toString(entity); // 将Entity对象转化为字符串

EntityUtils.consume(entity); // 销毁对象

} finally {

response.close();

}

htmltoFile(htmlString); // 调用htmltoFile()方法在制定路径输出html文件

return htmlString;

}

@RequiresPermissions("python:rFeichangzhun:view")

@RequestMapping(value = { "python" })

public String python(RFeichangzhun rFeichangzhun,

HttpServletRequest request, HttpServletResponse response,

Model model) throws Exception {

String didian = request.getParameter("didian");

String riqi = request.getParameter("riqi");

String hangbanhao = request.getParameter("hangbanhao");

String url = "http://www.variflight.com/flight/fnum/" + hangbanhao

+ ".html?AE71649A58c77&fdate=" + riqi;

String url2 = "http://www.variflight.com/schedule/"+didian+"-"+hangbanhao+".html?AE71649A58c77=&fdate="+riqi;

getDouBanList(url, riqi, url2);

return "modules/python/rFeichangzhunList";

}

/**

* 获取非常准航班信息

*

* @throws Exception

*/

public void getDouBanList(String surl, String riqi, String surls)

throws Exception {

String html = RFeichangzhunController.downloadPage(surl); // 通过url下载页面

String html2 = RFeichangzhunController.downloadPages(surls);

html = html.replace("star clearfix", "star_clearfix"); // 用"star_clearfix"替代"star clearfix"

html2 = html2.replace("star clearfix", "star_clearfix");

Document doc = Jsoup.parse(html); // 解析获取Document对象

Document docs = Jsoup.parse(html2);

Element divNode = doc.getElementsByClass("li_box").first(); // 通过getElementsByClass方法获取class为"li_box"的div节点对象

Element divNodes = docs.getElementsByClass("flyProc").first();

Elements liTag = divNode.select("li[style]"); // 通过select选择器选择有class属性的li标签节点,返回Element元素的集合

// Elements liTag1 = divNodes.select("span[class]");

Elements liTag2 = divNodes.select("div[class]");

// System.out.println(liTag2);

String title, jpg;

for (Element liNode : liTag) { // 对于liTag Element集合中的每一个元素liNode

Element dd = liNode.select("div").first(); // 取得liNode的第一个a节点对象

title = dd.getElementsByTag("span").text(); // 使用getElementsByTag方法,通过标签名称取得a标签节点对象,然后取其中的文本元素,即为电影名称

jpg = dd.getElementsByTag("span").html();

String[] strs = title.split(" ");

RFeichangzhun rFeichangzhun = new RFeichangzhun();

rFeichangzhun.setQueryDate(riqi);

String a = (strs[0].toString() + " " + strs[1].toString());

rFeichangzhun.setFlightXinxi(a);

String b = strs[2].toString();

rFeichangzhun.setPlanTime(b);

String c = strs[4].toString();

rFeichangzhun.setChufadi(c);

String d = strs[5].toString();

String e = strs[7].toString();

rFeichangzhun.setDaodadi(e);

String f = strs[9].toString();

rFeichangzhun.setStatus(f);

for (Element liNodes : liTag2) {

Element bb = liNodes.select("div").first();

title = bb.getElementsByTag("span").text();

String[] strs2 = title.split(" ");

String aa = strs2[1].toString();

String cc = strs2[strs2.length - 1].toString();// 8

System.out.println(aa);

System.out.println(cc);

java实现获取各网站的机票信息_java爬取某个机票查询网站上面的信息(刚学!!!)...相关推荐

  1. java爬取论坛信息_Java爬取校内论坛新帖

    Java爬取校内论坛新帖 为了保持消息灵通,博主没事会上上校内论坛看看新帖,作为爬虫爱好者,博主萌生了写个爬虫自动下载的想法. 嗯,这次就选Java. 第三方库准备 Jsoup Jsoup是一款比较好 ...

  2. python爬取链家租房信息_Python爬取链家网上海市租房信息

    使用Python进行上海市租房信息爬取,通过requests + Beautifulsoup对网页内容进行抓取和数据提取. import requests from bs4 import Beauti ...

  3. 大数据信息资料采集:中国知网文献资料网站数据信息资料爬取

    大数据信息资料采集:中国知网文献资料网站数据信息资料爬取 数据采集满足多种业务场景:适合产品.运营.销售.数据分析.政府机关.电商从业者.学术研究等多种身份职业. 舆情监控:全方位监测公开信息,抢先获 ...

  4. python爬虫实战之图灵社区图书信息的爬取(找了久,才找到一个比较好爬取的网站)

    python爬虫实战之图灵社区图书信息的爬取 程序的描述 目标 获取图灵社区(https://www.ituring.com.cn/book)中40本图书的书名 将获取的信息以列表的形式输出到屏幕上, ...

  5. JAVA爬虫(一):豆瓣电影排行榜爬取

    JAVA爬虫(一):豆瓣电影排行榜爬取 前言 流程图 步骤 一.爬取豆瓣电影榜单网页源代码 二.网页源码解析 三.爬取单个电影网页源码 四.源代码解析及关键信息获取 前言 最近和大创队友一起给大创做的 ...

  6. python爬取商品信息_python爬取商品信息

    原博文 2014-11-27 02:09 − 老严要爬某网购网站的商品信息,正好我最近在学python,就一起写了一个简单的爬虫程序. 需求:某网的商品信息,包括商品名,市场价和售价 工具:pytho ...

  7. 爬取虎牙之一:(王者荣耀主播信息普通爬取)

    使用工具 jsoup 对于新手而言,jsoup无疑是最简单的抓取工具之一,强大的解析能力让人方便使用,对于我们新手而言,获取只是看过爬虫书或者资料用简单的例子爬取所有链接,想要爬取想要的内容,首先要熟 ...

  8. python人人贷爬虫_爬取人人贷网上部分借贷信息以及数据可视化

    一.主题式网络爬虫设计方案:爬取人人贷网上部分借贷信息 1.主题式网络爬虫名称:爬取人人贷网上部分信息 2.主题式网络爬虫的内容与数据特征分析:爬取人人贷部分信息数据,借贷信息 3.主题式网络爬虫设计 ...

  9. 北京房租到底有多高? | 爬取北京海淀区一居室租房信息

    图片来源:花瓣网 文章来源 人工智能与大数据生活 如需转载,请联系原作者授权 最近北京房租成了热门话题,到底北京的房租有多高? 本次实战是爬取北京海淀区一居室的租房信息,共爬取了300套房源信息,看一 ...

最新文章

  1. 数字图像处理:第十三章 图象复原
  2. picker封装 uniapp_uniapp自定义picker城市多级联动组件
  3. LeetCode篇之栈:20(括号匹配问题)
  4. Java 内部类
  5. python程序员面试自我介绍_如何拿到面试公司一半Offer——我的Python求职之路
  6. 迅捷cad_迅捷套装
  7. 工作中关于 使用YUICompressor进行JS压缩 的问题小节
  8. 德标螺纹规格对照表_国标德标对照表
  9. 联华精选APP--请求body体和返回体加解密
  10. 校园虚拟服务器设备配置规划,校园高性能虚拟化服务器平台建设规划.doc
  11. java相对路径保存文件夹_java项目路径 文件路径 相对路径 整理
  12. 曾拯救Apple Watch的苹果工程师如今后继无人,美国制造业回流的人才之痛
  13. ​NeurIPS 2022 | IPMT:用于小样本语义分割的中间原型挖掘Transformer
  14. Java WebSocket编程与网页简易聊天室
  15. 机器学习强基计划4-2:通俗理解极大似然估计和极大后验估计+实例分析
  16. 大型网站具备的9大特点
  17. DR模式——LVS负载均衡群集
  18. 计算机辅助造型软件,AutoCAD 2010 专业的大型计算机辅助设计软件
  19. 物联网到底是什么,生活中能用得上吗?
  20. Trafodion ROLLUP函数

热门文章

  1. 银行计算机专业待遇,计算机专业能报考银行哪些岗位
  2. PADS VX2.8 router亮显模式的设置方法
  3. C# winform中窗口的关闭按钮的隐藏与禁用的几种方式说明
  4. 用c++程序解答一元二次方程,并且输出相关属性
  5. 达梦数据库与MySQL部分语法区别
  6. 印制电路板设计原则和抗干扰措施
  7. 订阅号功能----音乐
  8. 探探涉黄遭下架,但社交黑产会消失吗?
  9. [JAVAFX基础]扫雷经典入门低配版
  10. elementui展示多张图片_elementUI 上传多张图片并预览大图左右切换