java爬虫 京东_Java爬虫实现京东物流查询

网上没有免费的接口,只能自己写一套了,参考代码如下

public static JSONObject getLastInfo(String no){

JSONObject jsonObject=new JSONObject();

jsonObject.put("no", no);

Connection connection=Jsoup.connect("http://www.jdwl.com/order/search?waybillCodes="+no);

connection.header("Referer", "");

connection.header("Host", "www.jdwl.com");

connection.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3");

connection.header("Accept-Language", "zh-CN,zh;q=0.9");

connection.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36");

Document document;

try {

document = connection.timeout(3000).get();

Element element=document.select(".b-new-search-list").first();

if(element!=null){

jsonObject.put("accept_time",element.select(".time").first().text()+" "+element.select(".b-new-search-time").first().text() );

String remark=element.select(".b-new-search-info").first().text();

jsonObject.put("remark",remark);

if(remark!=null&&(remark.indexOf("签收")>-1||remark.indexOf("期待再次为您服务")>-1)){

jsonObject.put("opcode",80);

}else{

jsonObject.put("opcode",30);

}

GpicLogger.getExpress().info(jsonObject);

return jsonObject;

}

return null;

} catch (IOException e) {

GpicLogger.getExpress().error(no+">>>"+e);

return null;

}

}

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

System.out.println(getLastInfo("JDVE00197954011"));

}

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

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

相关文章

java list stream avg_Java 8 Stream API中的多个聚合函数

要在没有自定义收集器的情况下执行此操作(不再对结果进行流式传输),您可以这样做.它有点脏,因为它首先收集到Map< String,List< TimePeriodCalc>>然后流式传输该列表并获得平均加倍.由于你需要两个平均值,它们被收集到一个Holder或一对,在这种情况下我使用的是Abst…

java 发送邮件昵称_利用JavaMail发送QQ邮件

一、RFC882文档简单说明RFC882文档规定了如何编写一封简单的邮件(纯文本邮件)&#xff0c;一封简单的邮件包含邮件头和邮件体两个部分&#xff0c;邮件头和邮件体之间使用空行分隔。邮件头包含的内容有&#xff1a;from字段   --用于指明发件人to字段    --用于指明收件…

java没有timer类_Java中的Java.util.Timer类 - Break易站

scheduleAtFixedRate(TimerTask task, long delay, long period): java.util.Timer.scheduleAtFixedRate(TimerTask task, long delay, long period)在指定的延迟语法后开始&#xff0c;为重复的固定速率执行调度指定的任务&#xff1a;public void scheduleAtFixedRate(TimerT…

java select下拉标签_java中下拉框select和单选按钮的回显操作

前提&#xff1a;1.下拉框select请选择部门selected"selected">${department.department}2.单选按钮radio的回显checked"checked">checked"checked">补充知识&#xff1a;java使用apache commons-fileupload组件实现文件上传(控制文件上…

java 访问控制权限_Java访问控制权限有哪些?区别是什么?

原标题&#xff1a;Java访问控制权限有哪些&#xff1f;区别是什么?Java中的类和方法等都是有访问控制权限的&#xff0c;用来控制方法、类、属性等的生效范围&#xff0c;Java有四种访问控制权限&#xff0c;其中比较常用的就是public和private&#xff0c;今天华清远见Java学…

java 操作cursor数据库_Java连接各种数据库以及调用存储过程

准备工作&#xff1a;1. 创建表drop table T_TEST_PROCEDURE cascade constraints;/**//*Table: T_TEST_PROCEDURE*//**/createtable T_TEST_PROCEDURE (IDNUMBER(19) not null,NAMEVARCHAR2(40),AGE NUMBER(3),constraintPK_T_TEST_PROCEDURE primary key (ID));2. 创建存储过…

java 规格overview_《Java數據結構和算法》- OverView

Q: 不同數據結構的優缺點&#xff1f;數據結構優點缺點數組(Array)快速訪問&#xff0c;如果知道下標&#xff0c;就可以非常快地存取查找慢&#xff0c; 插入或刪除慢&#xff0c; 大小固定有序數組(OrderedArray)比無序的數組查找快插入或刪除慢&#xff0c;大小固定棧(Stack…

mysql 集群怎么卸载节点_Greenplum移除节点

基于某某原因&#xff0c;我们的Greenplum需要卸载一个节点(测试环境的Greenplum集群)&#xff0c;由于该集群使用了很久&#xff0c;里面有许多开发所需要的数据&#xff0c;所以在卸掉一个节点后&#xff0c;还要保证数据不会丢失。当然&#xff0c;期间也遇到了点问题&#…

mysql2012更改表名_T-SQL入門攻略之13-修改数据表

--> Title : T-SQL入門攻略之13-修改数据表--> Author : wufeng4552--> Date : 2010-07-12修改表名与字段名—sp_rename--1修改表名SQL Server不直接提供修改表名的T-SQL语句&#xff0c;但是可以通过存储过程实现语法格式&#xff1a;sp_rename tablename,newtabl…

python中不论类的名字是什么歌_Python自动猜歌名,还愁排名上不去嘛?

前言相传&#xff0c;就在前几日&#xff0c;在网上闲逛时&#xff0c;刷到了一个猜歌的小程序。这个小程序通过播放歌曲部分片段&#xff0c;然后让用户来猜它的歌名&#xff0c;大概是这样的&#xff1a;作为一个脑热的听歌爱好者&#xff0c;于是他越陷越深&#xff0c;越刷…

java调用oracle存储过程_做一点,记一点 ~ Java调用Oracle存储过程

一、需求传入一个参数&#xff0c;返回一条或多条记录(列表)。二、实现步骤1. 编写Oracle存储过程。-- 声明包和包体的语句应该分两次执行&#xff0c;即使声明在前定义在后&#xff0c;如果一起执行依然会编译出错--调用能够返回多条记录的存储过程需要定义在包内--声明包及包…

java 从控制台读取_转载 java从控制台读取输入的方法

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class MainClass { public static void method1() { //使用Scanner Scanner scannernew Sca…

trace java_使用java动态字节码技术简单实现arthas的trace功能。

参考资料用过[Arthas]的都知道&#xff0c;Arthas是alibaba开源的一个非常强大的Java诊断工具。不管是线上还是线下&#xff0c;我们都可以用Arthas分析程序的线程状态、查看jvm的实时运行状态、打印方法的出入参和返回类型、收集方法中每个代码块耗时&#xff0c;甚至可以监控…

顺时针小球圆周运动Java编程_如何使用CSS实现圆周运动小球的实例

我们时常在页面中见到一些动画效果&#xff0c;这些动画效果&#xff0c;很多可以仅通过CSS来实现。在这里我们用到了CSS3的animation属性。animation 属性是一个简写属性&#xff0c;用于设置六个动画属性&#xff1a;animation-name 规定需要绑定到选择器的 keyframe 名称。a…

java swing 外观框架_【GUI】一、Swing外观框架BeautyEye使用

一、Swing外观框架BeautyEye使用1.1 导包1.2 使用BeautyEye L&Fpublic static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {// 国人牛逼主题&#xff0c;值得学习// 初始化字体InitGlobalFont(new Font("微软雅黑", F…

static详解java_java中static作用详解

static表示“全局”或者“静态”的意思&#xff0c;用来修饰成员变量和成员方法&#xff0c;也可以形成静态static代码块&#xff0c;但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说&#xff0c;它不依赖类特定的实例&…

java基础案例教程前4章知识点_java学习记录4 Java基础知识点

java学习记录4 Java基础知识点1. 注释单行注释使用“//”开头&#xff0c;后面是注释的内容一般在要注释的语句的上面加注释多行注释以“/*”开头&#xff0c;以“*/”结尾可以做行内注释不可嵌套使用文档注释以“/**”开头&#xff0c;以“*/”结尾用来给类和方法做注释&#…

打印狗的健康值Java_嵌入式狗的JAVA之路 HTML 补课

学了JAVA WEB应用&#xff0c;补充一下HTML的标签&#xff0c;常用的&#xff0c;不然页面都画不出来了~~test 标题&#xff0c;h1h2h3 3个字号test 段落link 链接 使用 Target 属性&#xff0c;你可以定义被链接的文档在何处显示。下面的这行会在新窗口打开文档&#xff1a;Vi…

mysql 表2符合表1_MYSQL-表1和表2中所有可能性的所有行

表用户id, name1, Jay Bob2, An Other表格页id, name, html1, Welcome, Welcome to this page2, Goodbye, Thanks for visiting表user_pages **存储页面的用户特定版本**user_id, page_id, html1, 1, User id 1 Welcome page我基本上需要一个查询,该查询将为我返回以下数据集-即…

java引擎组件_Java 脚本引擎入门

Java Script EngineJava 脚本引擎可以将脚本嵌入Java代码中&#xff0c;可以自定义和扩展Java应用程序&#xff0c;自JDK1.6被引入&#xff0c;基于Rhino引擎&#xff0c;JDK1.8后使用Nashorn引擎&#xff0c;支持ECMAScript 5&#xff0c;但后期还可能会换。脚本引擎包位于jav…