Python 實現(xiàn)快遞物流信息查詢
希望你拼命爭取的,最后都能如你所愿。
一、分析網(wǎng)頁
快遞100網(wǎng)站可以很方便的查詢快遞的物流信息
二、python代碼實現(xiàn)
1. selenium爬蟲實現(xiàn)查詢
# 根據(jù)快遞單號查詢物流信息
def get_screenshot_and_info():
chrome_driver = r'D:\python\pycharm2020\chromedriver.exe' # chromedriver的路徑
options = webdriver.ChromeOptions()
# 關閉左上方 Chrome 正受到自動測試軟件的控制的提示
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option("excludeSwitches", ['enable-automation'])
# 開啟瀏覽器對象
browser = webdriver.Chrome(options=options, executable_path=chrome_driver)
# 訪問這個url
browser.get('https://www.kuaidi100.com/')
# 顯示等待
wait = WebDriverWait(browser, 5)
wait.until(ec.presence_of_element_located((By.ID, 'menu-track')))
# 窗口最大化
browser.maximize_window()
browser.find_element_by_name('postid').send_keys(nums)
browser.find_element_by_id('query').click()
time.sleep(1)
browser.find_element_by_id('query').click()
time.sleep(2)
browser.execute_script("window.scrollBy(0, 488)")
# 截圖
browser.get_screenshot_as_file(filename='info.png')
items = browser.find_elements_by_xpath('//table[@class="result-info"]/tbody/tr')
print('物流信息查詢結(jié)果如下:\n')
for item in items:
time_ = item.find_element_by_xpath('.//td[1]').text.replace('\n', ' ')
contex = item.find_element_by_xpath('.//td[3]').text
print(f'時間:{time_}')
print(f'狀態(tài):{contex}\n')
browser.quit()
# 顯示截圖
src = cv.imread(filename='info.png')
src = cv.resize(src, None, fx=0.7, fy=0.7)
cv.imshow('result', src)
cv.waitKey(0)
運行效果如下:
2. requests爬蟲實現(xiàn)查詢
def query_info(i, j):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24',
"Referer": "https://www.kuaidi100.com/"
}
url = f'https://www.kuaidi100.com/query?type={j}&postid={i}&temp=0.53162373256954096&phone='
resp = requests.get(url, headers=headers)
# print(resp.text)
datas = json.loads(resp.text)['data']
# print(datas)
print('您的快遞物流信息查詢結(jié)果如下:\n')
for item in datas:
time_ = item['time']
info = item['context']
print(f'時間:{time_}')
print(f'物流狀態(tài):{info}' + '\n')
運行結(jié)果如下:
requests爬蟲查詢速度較快,但需要輸入快遞公司,便于構(gòu)造接口url來請求查詢。
結(jié)語
以上兩種版本的完整代碼可后臺回復快遞獲得,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對小編的支持。

推薦閱讀
(點擊標題可跳轉(zhuǎn)閱讀)
點擊閱讀原文,積分可以免費換書
評論
圖片
表情
