python 爬取订单_使用Python + selenium爬取51Tracking订单信息

使用Python + selenium爬取51Tracking国际物流订单信息

——以XDP Express订单为例

一、准备数据

见XDP.xlsx存储内容,示例如:

Order

code

ZWAWZT036164

SW17 8SF

ZWAWZT036161

CB6 3UX

二、运行脚本

直接上代码

from selenium import webdriver

import pyautogui

import time

import win32clipboard as w

import win32con

import pandas as pd

class Track(object):

"""51tracking_spider"""

def __init__(self):

self.dr = webdriver.Firefox()

self.dr.maximize_window()

def open_xdp(self, num):

self.dr.get("https://www.51tracking.com/xdp-uk-tracking")

self.dr.find_element_by_xpath('// *[ @ id = "tracknumber"]').click()

pyautogui.typewrite(num, 0.1)

self.dr.find_element_by_xpath('// *[ @ id = "btnSumit"]').click()

def next_open(self, code):

"""

:param num:

:return:

"""

self.dr.find_element_by_xpath('// *[ @ id = "required_field_tracking_ship_date1"]').click()

pyautogui.typewrite(code, 0.1)

self.dr.find_element_by_xpath('// *[ @ id = "btn_reqired_field_form_submit"]').click()

self.dr.find_element_by_xpath('//*[@id="result"]').click()

self.save_file()

def save_file(self):

"""

:param num:

:param value:

:return:

"""

value = self.getText()

with open("XDP Delivery.txt", mode="a", encoding="utf-8") as f:

f.write(value+"\n")

def quit_dr(self):

self.dr.quit()

def getText(self):

w.OpenClipboard()

d = w.GetClipboardData(win32con.CF_UNICODETEXT)

w.CloseClipboard()

return d

if __name__ == '__main__':

data = pd.read_excel(r'XDP.xlsx')

num = list(data['Order'])

code = list(data['code'])

for i in range(len(num)):

t = Track()

try:

t.open_xdp(num[i])

t.next_open(code[i])

t.quit_dr()

except Exception as e:

print(f"此次任务出错,错误信息为:{e}")

print(f"错误单号为:{num[i]}")

try:

t.quit_dr()

except:

continue

三、爬取数据

爬取数据截图

原文链接:https://blog.csdn.net/weixin_44562468/article/details/106693494

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值