Kotlin采集美团商家信息 同行竞争价格监控

“南方小土豆”挤爆哈尔滨旅游市场,一个冬天让哈尔滨火出了圈,让全国观众看见了不一样的逆向旅游热,虽说我心驰神往,但是无奈加班敲代码,连休息的时间都没有。前段时间我通过用java写了一个美团爬虫程序,今天我 利用java的Kotlin库来写个美团商家爬虫,监控同行价格信息,并做出对比,了解同行竞争对手的信息。

在这里插入图片描述

爬虫程序的代码和步骤如下:

import java.net.URLConnection
import java.util.*fun main(args: Array<String>) {val proxyHost = "duoip" // 代理服务器地址val proxyPort = 8000 // 代理服务器端口val url = URL("meituan") // 爬取的网址val proxyHost= "提取免费ip" // jshk.com.cn/mb/reg.asp?kefu=xjy&csdnval proxy = Proxy(Proxy.Type.HTTP, java.net.InetSocketAddress(proxyHost, proxyPort))val connection = URL(url).openConnection()connection.setRequestProperty("Proxy-Connection", "Keep-Alive")connection.setRequestProperty("User-Agent", "Mozilla/5.0")connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded")connection.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8,en;q=0.6")val cookieParams = connection.getHeaderFields().get("Cookie").split(",")if (cookieParams.isNotEmpty()) {connection.setRequestProperty("Cookie", cookieParams.joinToString("; "))}connection.connect()connection.responseCode
}

每行代码的解释如下:

1、val proxyHost = "duoip":指定代理服务器的地址为 duoip

2、val proxyPort = 8000:指定代理服务器的端口为 8000

3、val url = URL("meituan"):指定要爬取的网址为 meituan

4、val proxy = Proxy(Proxy.Type.HTTP, java.net.InetSocketAddress(proxyHost, proxyPort)):创建一个代理对象,指定代理类型为 HTTP,代理地址为 duoip,代理端口为 8000

5、val connection = URL(url).openConnection():创建一个 URLConnection 对象,指定要连接的网址为 meituan

6、connection.setRequestProperty("Proxy-Connection", "Keep-Alive"):设置请求头的 “Proxy-Connection” 为 “Keep-Alive”,表示连接应该在请求完成后保持打开状态。

7、connection.setRequestProperty("User-Agent", "Mozilla/5.0"):设置请求头的 “User-Agent” 为 “Mozilla/5.0”,表示客户端使用的浏览器类型。

8、connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"):设置请求头的 “Content-Type” 为 “application/x-www-form-urlencoded”,表示请求主体的类型。

9、connection.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8,en;q=0.6"):设置请求头的 “Accept-Language” 为 “zh-CN,zh;q=0.8,en;q=0.6”,表示客户端接受的语言。

10、val cookieParams = connection.getHeaderFields().get("Cookie").split(","):获取响应头中的 “Cookie”,并以 “,” 分割,得到一个字符串数组。

11、if (cookieParams.isNotEmpty()) { connection.setRequestProperty("Cookie", cookieParams.joinToString("; ")) }:如果 “Cookie” 不为空,设置请求头的 “Cookie” 为字符串数组中的元素,以 "; " 分隔。

12、connection.connect():建立连接。

13、connection.responseCode:获取服务器返回的状态码。

上面就是全部的代码内容了,介绍的很详细,也许有一些不完善的地方,欢迎大佬随时指正,不说了,已经买好了去哈尔滨的机票了,趁着热度未减,我也当一回南方的小土豆,看看美丽的哈尔滨冰雪世界。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/319601.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中的序列化方法探索

.为什么要序列化 对象不序列化&#xff0c;能直接存储吗&#xff1f; 在 Java 中&#xff0c;序列化是将对象的状态信息转换为可以存储或传输的形式&#xff08;例如&#xff0c;转换为字节流&#xff09;的过程。在对象数据需要在网络上传输或需要在磁盘上持久化存储时&#…

设计模式之原型模式【创造者模式】

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

2023年.AI域名销售额达550万美元 2024还要继续涨

根据域名投资专家Elliot Silver的最新文章&#xff0c;2023年公开报道的.AI域名销售额已经达到了550万美元&#xff0c;而2022年和2021年分别为90万美元和120万美元。 Silver观察到过去几年.AI域名销售额呈现逐年增长的趋势&#xff0c;尤其是2023年的销售额相较前两年有了显著…

高效的输电线路故障监测系统:实时监测、预防性维护

在电力系统中&#xff0c;输电线路的健康状态直接关系到电网的安全稳定运行。然而&#xff0c;由于线路的广泛分布和长距离特性&#xff0c;故障的检测和定位变得极其困难。为了解决这一问题&#xff0c;恒峰智慧设计了一种全新的高效输电线路故障监测系统&#xff0c;该系统采…

进程和计划任务

一、什么是程序 是一组计算机能识别和执行的指令&#xff0c;运行于电子计算机上&#xff0c;满足人们某种需求的信息化工具 用于描述进程要完成的功能&#xff0c;是控制进程执行的指令集 二、进程 1.什么是进程 进程&#xff1a;正在运行中的程序&#xff0c;加载到内存…

静态网页课程设计——十二花信(花朵科普)(HTML+CSS+JavaScript)

前言 使用技术&#xff1a;HTMLCSSJS 主要内容&#xff1a;对十二个月每个月的适应季节的花朵进行科普。 主要内容 1、首页 首页顶部由标题栏和一张花朵的图片组成。 下半部分对十二花信进行了简单的科普介绍&#xff0c;分别为一月梅花、二月杏花、三月桃花等等。。 部…

Java 跨平台实现

Java 跨平台实现 1. Java虚拟机&#xff08;JVM&#xff09;2. 中间代码&#xff08;字节码&#xff09;3. Write Once, Run Anywhere (WORA)4. Java 标准库5. 安全性与隔离6. Java Community Process (JCP) Java 的跨平台性主要是通过以下几个关键机制来实现的&#xff1a; 1…

Java设计模式:状态模式

❤ 作者主页&#xff1a;欢迎来到我的技术博客&#x1f60e; ❀ 个人介绍&#xff1a;大家好&#xff0c;本人热衷于Java后端开发&#xff0c;欢迎来交流学习哦&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 如果文章对您有帮助&#xff0c;记得关注、点赞、收藏、…

天融信TOPSEC Cookie 远程命令执行漏洞

产品介绍 天融信TopSec 安全管理系统&#xff0c;是基于大数据架构&#xff0c;采用多种技术手段收集各类探针设备安全数据&#xff0c;围绕资产、漏洞、攻击、威胁等安全要素进行全面分析&#xff0c;提供统一监测告警、集中策略管控、协同处置流程&#xff0c;实现客户等保合…

GZ075 云计算应用赛题第5套

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷5 某企业根据自身业务需求&#xff0c;实施数字化转型&#xff0c;规划和建设数字化平台&#xff0c;平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”&#xff0c;拟采用开源OpenSt…

Vue: 多个el-select不能重复选择相同属性

一、场景 1.需求&#xff1a; 用户可自由选择需要修改的对象并同时修改多个属性&#xff0c;需要校验修改对象不能重复选择&#xff0c;但是可供修改属性是固定的 2.目标效果&#xff1a; 二、实现 1.主要代码&#xff1a; <template><el-selectv-model"se…

SV-DJS-I13 深圳锐科达电梯 IP 五方对讲规格书

SV-DJS-I13 深圳锐科达电梯 IP 五方对讲规格书 DJS-I13 是专门对行业用户需求研发的一款 SIP 电梯五方对讲。它不仅有稳定性 好、电信级音质的优点&#xff0c;且完美兼容当下所有基于 SIP 的主流 IPPBX/软交换/IMS 平台, 如 Asterisk, Broadsoft, 3CX, Elastix 等。它集…