暑假旺季到了,如何选择酒店呢
如何 选择 酒店 暑假
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相关文章
- web前端 | 如何选择撸码神器
- nginx和apache那个好更好,我们应该如何选择
- 阿常:如何获得好的绩效
- 如何将ts文件转为mp4格式「建议收藏」
- pmp培训机构哪个好?各pmp培训机构排名如何?
- Python 脚本如何设置试用期
- Linux dos攻击服务器,Linux服务器如何防止DoS攻击
- 【国自然】如何选择四类科学问题?
- Web3 的开发者,如何评估以及选择调用链上数据的解决方案
- Keycloak vs MaxKey,开源单点登录框架如何选择?
- 如何使用 Apache IoTDB 中的 UDF
- 2023-03-29:如何高效计算三条线路选择方案?小A的旅行线路规划问题
- 如何选择合适的 django 版本使用
- Oracle 视图 USER_SCHEDULER_RESOURCES 官方解释,作用,如何使用详细说明
- 器给Linux系统挂载存储设备的完美指南(linux如何挂载存储)
- Linux下如何生成MD5校验值?(linux如何md5)
- 如何修改MySQL用户密码(修改mysql用户密码)
- 如何在Linux下安装Windows 7:简单步骤指南(linux下安装win7)
- 如何选择适合安装Linux的电脑(什么电脑装linux)
- 如何选择适合你的Linux操作系统?(linux系统选哪个)
- Linux环境下如何启动DB2数据库(linuxdb2启动)
- MySQL数据库如何添加图片(mysql数据库插入图片)
- 语句如何在Oracle数据库中使用If语句(oracle 写 if)
- 工具如何精准选择Redis序列化工具(如何选择redis序列化)
- 如何选择适合的MySQL版本下载(mysql下载什么版本号)
- 如何选择适合自己使用的MySQL版本(mysql下哪个版本好)
- jquery的选择器的使用技巧之如何选择input框