首页 > 其他分享 >用Scala采集出行平台机票价格信息

用Scala采集出行平台机票价格信息

时间:2024-01-15 10:33:44浏览次数:33  
标签:出行 java val Scala URL import 机票价格 new conn

年关将至,趁着过年,打算拖家带口的出去游玩一番,目前也没有什么计划,去哪里玩也比较随机。正好年底公司项目都已经完成差不多,利用空余时间,用爬虫爬取各大景点飞机票价格信息,选择景点不错机票便宜的,来场说走就走的旅行,犒劳一下自己。

用Scala采集出行平台机票价格信息_java

以下是一个简单的示例,用于抓取网页上的机票价格信息:

import java.net.URL
import java.net.URLConnection
import java.io.BufferedReader
import java.io.InputStreamReader
import scala.collection.mutable.ListBuffer

object Main {

  def main(args: Array[String]): Unit = {
      提取ip jshk.com.cn/mb/reg.asp?kefu=xjy&51cto
    val proxyHost = "duoip"
    val proxyPort = "8000"

    // 创建一个代理URL连接
    val proxyURL = new URL("http://" + proxyHost + ":" + proxyPort)
    val proxy = new Proxy(Proxy.Type.HTTP, proxyURL)
    val conn = new URL("http://www.example.com").openConnection()
    conn.setProxy(proxy)

    // 连接到目标页面
    conn.connect()

    // 创建一个读取输入流
    val in = new BufferedReader(new InputStreamReader(conn.getInputStream()))

    // 创建一个缓冲区来存储结果
    val buffer = new ListBuffer[String]()

    // 从输入流中读取一行
    var line = in.readLine()
    while (line != null) {
      buffer += line
      line = in.readLine()
    }

    // 打印结果
    buffer.foreach(println)

    // 关闭连接
    in.close()
    conn.disconnect()
  }
}

解释:

1、首先,我们导入了需要的一些库,如java.net.URLjava.net.URLConnectionjava.io.BufferedReaderjava.io.InputStreamReader

2、然后,我们定义了代理的主机名和端口号。

3、接下来,我们创建了一个代理URL连接,并将其与代理URL关联。

4、我们连接到目标页面。

5、然后,我们创建了一个读取输入流。

6、我们创建了一个缓冲区来存储结果。

7、我们从输入流中读取一行,并将其添加到缓冲区中。

8、最后,我们打印缓冲区中的所有行,并关闭连接。

请注意,这只是一个基础的示例,实际的爬虫程序可能会更复杂,需要处理更多的细节,如错误处理、设置超时、处理HTML等。此外,许多出行平台可能不允许直接爬取其数据,因此在实际使用中,您可能需要遵循平台的条款和条件,并确保您的爬虫程序不会对平台造成过大的负担或影响。

以上就是今天我写的一个爬虫代码并做可视化分析,现在已经选择好目的地了,就等到时间一起出发。

标签:出行,java,val,Scala,URL,import,机票价格,new,conn
From: https://blog.51cto.com/u_13488918/9249606

相关文章

  • Scala编程语言day2
    位运算符运算符功能解释&按位与,有0则0,都为1则1|按位或,有1则1,都为0则0^按位异或,相同为0,不同为1~按位取反,0变1,1变0<<按位左移,左移一位,相当于该数乘2>>按位右移,右移一位,相当于该数......
  • WSL2下Ubuntu中的Scala环境安装
    sudosed-i's/http:\/\/archive.ubuntu.com/https:\/\/mirrors.ustc.edu.cn/g'/etc/apt/sources.listsudoaptupdate&&sudoaptupgrade-ysudoaptinstallopenjdk-17-jdk-yvi~/.profileexportJAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd6......
  • Scala编程语言day1
    一、Scala概述Scala是一种运行在JVM上的函数式的面向对象语言,它集成了面向对象编程和面向函数式编程的各种特性,以及更高层的并发模型Scala的语言特点Scala是兼容的:兼容Java,可以访问庞大的Java类库Scala是精简的:Scala表达能力强,开发速度快Scala是高级的:Scala可以让你的程序保......
  • 【flink番外篇】9、Flink Table API 支持的操作示例(8)- 时态表的join(scala版本)
    文章目录Flink系列文章一、maven依赖二、示例:时态表的join(scala版本)1)、统计需求对应的SQL2)、Withoutconnnector实现代码3)、WithCSVConnector实现代码本文给以scala的语言给出来TableAPI针对时态表的join操作。本文除了maven依赖外,没有其他依赖。本文需要有kafka的运行环境......
  • 共享出行革命:打车平台如何巧妙应对拼友迟到困扰?
    大家好,我是小米!很高兴又有机会和大家分享一些技术思考和解决问题的方法啦!今天我们要聊的话题是滴滴产品经理面试题:拼车时拼友迟到的问题严重,该如何解决?这可是个颇有技术含量的问题哦,我们一起来深度挖掘一下吧!背景介绍作为打车平台的一员,我们都知道,拼车服务的核心理念是让用户们更加......
  • 32-Scala-函数式编程
    1.偏函数1.1案例引入给你一个集合List(1,2,3,4,"abc"),请完成如下要求:将集合中的所有数字+1,并返回一个新的集合;要求忽略掉非数字的元素,即返回的新的集合形式为(2,3,4,5)。objectPrePartialFuncTest{defmain(args:Array[String]):Unit={//=====......
  • 33-Scala-Akka
    1.Akka概述Akka是Java虚拟机JVM平台上构建高并发、分布式和容错应用的工具包和运行时,你可以理解成Akka是编写并发程序的框架。Akka用Scala语言写成,同时提供了Scala和Java的开发接口。Akka基于Actor模型,它提供了一种轻量级的并发抽象,称为Actor,以及处理并发和......
  • 29-Scala-面向对象
    1.面向对象编程基础1.1定义类基本语法:[修饰符]class类名{//code}Scala语法中,类并不声明为public,所有这些类都具有公有可见性(即默认就是public)一个Scala源文件可以包含多个类1.2成员变量属性的定义语法同变量:[访问修饰符]var属性名称[:类型]=属性值......
  • 新手学习指南:用Scala采集外卖平台
    学习爬虫不是一蹴而就的,在掌握相关的知识点的同时,还要多加练习,学习是一部分,更多的还是需要自己上手操作,这里配合自己学习的基础,以及使用一些爬虫的专有库,就可以轻松达到自己想要的数据。那么今天我将用Scala编程一个爬外面平台的代码,并且做了相关的注释,希望能帮助更多的人。在Scala......
  • 基于Hologres+Flink的曹操出行实时数仓建设
    作者:林震|曹操出行实时计算负责人曹操出行业务背景介绍曹操出行创立于2015年5月21日,是吉利控股集团布局“新能源汽车共享生态”的战略性投资业务,以“科技重塑绿色共享出行”为使命,将全球领先的互联网、车联网、自动驾驶技术以及新能源科技,创新应用于共享出行领域,以“用心服务国民出......