python爬取国外物流网站kerry(2)

本文介绍了一种使用Python的requests库和Xpath解析器从KerryExpress网站爬取物流单号、最新货态及时间的方法。通过读取Excel文件中的运单号,实现了批量查询并保存结果。

上篇文章仅爬取了kerry网站的最后一条物流信息。而且步骤较为复杂。这篇文章为爬取了最后一条物流状态和对应的最新状态时间。输出的信息包含:物流单号,货态,最新货态日期,最新货态时间等。仍然采用了requests库和Xpath来实现需求。相比较文章(一),去掉了保存文件到本地的操作。但是不知道为什么,耗时也没减少多少。

import requests
from lxml import etree
import pandas as pd
import time
start=time.time()
#查最新货态和时间
def pa(s):
	a=[1,1,1]
	url='https://th.kerryexpress.com/en/track/?track='+s
	headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'}
	response=requests.get(url,headers=headers)
	html =etree.HTML(response.text)
	trs = html.xpath("//div[@class='d1']/text()")
	trs2=html.xpath("//div[@class='date']")[0]	
	date=trs2.xpath(".//div[1]/text()")[0]
	hour=trs2.xpath(".//div[2]/text()")[0]
	a[0]=trs[0].strip()
	a[1]=date.strip()
	a[2]=hour.strip()
	return a
data=pd.read_excel('D:/kerry/运单号.xlsx')
list=list(data['运单号'])[1:]
L=[]
T=[]
TT=[]
for x in list:
	b=pa(x)[0]
	t=pa(x)[1]
	tt=pa(x)[2]
	L.append(b)
	T.append(t)
	TT.append(tt)
c={'运单号':list,'货态':L,'最新状态日期':T,'最新状态时间':TT}
C=pd.DataFrame(c)
C.to_excel('D:/kerry/result2.xlsx',index=False)
t=(time.time()-start)
print('耗时:',t)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值