眼下,正是各大電商平臺“雙十一”火爆促銷期間,當“雙十一”遇上“速凍寒潮”,快遞能否如約抵達備受關注,快來看看哪些天氣是快遞小哥狂奔路上的“絆腳石”,你的雙十一快遞是否會如期到貨。11月10日至11日,全國大部以晴好天氣爲主,但是東北、內蒙古等地剛剛經歷了下半年來最強寒潮天氣過程,一些道路仍有積雪或結冰,或導致快件延誤。
很多的小夥伴是不是就擔心自己的快遞遲遲都到不了手上了,再下單支付了後我們就隨時關注自己的快遞動態,我們經常會去查快遞的物流單號,但是很多的朋友都不知道這些物流單號是從哪裏來的呢?
如今快遞鳥集合了多家快遞公司查詢接口,輸入相應快遞公司編碼和快遞單號就可以獲取到對應的物流信息很方便快捷。今天的項目目標就是教會大家如何用Python編程去查詢自己的物流信息。首先是獲取目標網站http://www.kdniao.com/,分析網站然分析我們需要訪問的網址。接下來我們示例分析下:
import org.apache.commons.httpclient.Credentials; import org.apache.commons.httpclient.HostConfiguration; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpMethod; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.UsernamePasswordCredentials; import org.apache.commons.httpclient.auth.AuthScope; import org.apache.commons.httpclient.methods.GetMethod; import java.io.IOException; public class Main { # 代理服務器(產品官網 www.16yun.cn) private static final String PROXY_HOST = "t.16yun.cn"; private static final int PROXY_PORT = 31111; public static void main(String[] args) { HttpClient client = new HttpClient(); HttpMethod method = new GetMethod("http://www.kdniao.com/"); HostConfiguration config = client.getHostConfiguration(); config.setProxy(PROXY_HOST, PROXY_PORT); client.getParams().setAuthenticationPreemptive(true); String username = "16ABCCKJ"; String password = "712323"; Credentials credentials = new UsernamePasswordCredentials(username, password); AuthScope authScope = new AuthScope(PROXY_HOST, PROXY_PORT); client.getState().setProxyCredentials(authScope, credentials); try { client.executeMethod(method); if (method.getStatusCode() == HttpStatus.SC_OK) { String response = method.getResponseBodyAsString(); System.out.println("Response = " + response); } } catch (IOException e) { e.printStackTrace(); } finally { method.releaseConnection(); } } }
如果獲取的數據量大,我們在訪問目標網站的是需要加上代理,有需要的可以試試他們家www.16yun.cn,很靠譜,爬蟲就是通過各種實踐積累經驗,所以大家可以多多練習。