zl程序教程

您现在的位置是:首页 >  其它

当前栏目

暑假旺季到了,如何选择酒店呢

如何 选择 酒店 暑假
2023-06-13 09:15:42 时间

暑假开始了,家长们又要规划亲子旅游啦。面对携程、美团、飞猪众多平台如何选择适合的酒店呢?
根据要去的地方和行程安排选酒店,建议第一天选择一家交通方便的经济型酒店快速入住休整下,第二天再换到旅游期间长住的酒店。

开始选择酒店的时候,预算是很重要的,可以先做一个筛选,然后再从筛选的结果总选择选择性价比高的酒店。同时要关注酒店的评价,但是因为有大量的灌水,建议大家重点关注“有待改善”的部分,这个能将一些真实的问题反映出来,任何酒店都有需要改进的地方,可以斟酌下看看这些问题是不是得到了酒店的解决,或者这些问题是不是能够接受的。

这么多酒店如果手动去分析处理也是很累的,可以用爬虫程序去平台采集自动整理数据,就可以快速筛选啦,程序如下:

import java.io.ByteArrayOutputStream;

import java.io.InputStream;

import java.net.Authenticator;

import java.net.HttpURLConnection;

import java.net.InetSocketAddress;

import java.net.PasswordAuthentication;

import java.net.Proxy;

import java.net.URL;

import java.util.Random;

class ProxyAuthenticator extends Authenticator {

 private String user, password;

 public ProxyAuthenticator(String user, String password) {

 this.user = user;

 this.password = password;

 protected PasswordAuthentication getPasswordAuthentication() {

 return new PasswordAuthentication(user, password.toCharArray());

 * 注意:下面代码仅仅实现HTTP请求链接,每一次请求都是无状态保留的,仅仅是这次请求是更换IP的,如果下次请求的IP地址会改变

 * 如果是多线程访问的话,只要将下面的代码嵌入到你自己的业务逻辑里面,那么每次都会用新的IP进行访问,如果担心IP有重复,

 * 自己可以维护IP的使用情况,并做校验。

public class Demo {

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

 // Change in Java 8 Update 111 以上版本需要下面代码

 // System.setProperty( jdk.http.auth.tunneling.disabledSchemes , false 

 // System.setProperty( jdk.http.auth.proxying.disabledSchemes , false 

 // 要访问的目标页面

 String targetUrl = https://hotels.ctrip.com 

 // 代理服务器(产品官网 www.16yun.cn)

 String proxyServer = t.16yun.cn 

 int proxyPort = 31111;

 // 代理验证信息

 String proxyUser = username 

 String proxyPass = password 

 try {

 URL url = new URL(targetUrl);

 Authenticator.setDefault(new ProxyAuthenticator(proxyUser, proxyPass));

 // 创建代理服务器地址对象

 InetSocketAddress addr = new InetSocketAddress(proxyServer, proxyPort);

 // 创建HTTP类型代理对象

 Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);

 // 设置通过代理访问目标页面

 HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);

 // 设置Proxy-Tunnel

 // Random random = new Random();

 // int tunnel = random.nextInt(10000);

 // connection.setRequestProperty( Proxy-Tunnel ,String.valueOf(tunnel));

 // 解析返回数据

 byte[] response = readStream(connection.getInputStream());

 System.out.println(new String(response));

 } catch (Exception e) {

 System.out.println(e.getLocalizedMessage());

 * 将输入流转换成字符串

 * @param inStream

 * @return

 * @throws Exception

 public static byte[] readStream(InputStream inStream) throws Exception {

 ByteArrayOutputStream outSteam = new ByteArrayOutputStream();

 byte[] buffer = new byte[1024];

 int len = -1;

 while ((len = inStream.read(buffer)) != -1) {

 outSteam.write(buffer, 0, len);

 outSteam.close();

 inStream.close();

 return outSteam.toByteArray();

}

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/52984.html

java