使用python自动追踪你的快递(物流推送邮箱)

前言

最近国内疫情状况好转,快递业也逐渐恢复,大家的快递是不是跑起来了?本文就来讲解如何让 python自动为你查询快递信息 ,并在物流发生更新或者到达指定地点时第一时间将 物流推送至你的邮箱

其实并不复杂,只需要两步即可搞定:

  • 爬取物流动态信息
  • 将信息推送至邮箱

物流追踪

先说一下走过的坑,在一开始的思路就是去找个快递查询的网站查一下快递,然后抓一下包就能拿到我们需要的内容,然后写个爬虫去追踪快递信息,结果一百度发现基本国内查快递的网站用的都是快递100的API,申请个API还要提供一个网站供对方审核,并且还有次数限制。不申请API直接爬得到的物流信息被各种加密。翻遍GitHub也没有找到一个可以用的。折腾半天终于找到一个网站可以使用。直接上代码

import requests
import bs4
import re
kuaidi = []
url='http://m.46644.com/express/result.php?typetxt=%D6%D0%CD%A8&type=zto&number=你的单号'
response = requests.get(url)
response.encoding = 'gb18030'
response = response.text
soup = bs4.BeautifulSoup(response,'html.parser',from_encoding="utf8")
for i in soup.findAll(name='div',attrs = {'class':'icontent'}):
 kuaidi.append(i.get_text())
 print(i.get_text())

这一段代码我们使用多很多次就不过多解读了,用requests+bs4爬结果和提取我们需要的目标信息,当然注意到这只是中通快递的查询链接

因此我们需要再写一个函数来生成更多快递公司的查询链接,这也不是很困难

def express_type_get():
 express_type = ('sfexpress','yunda','sto','yto','zto','ems','ttdex','htky','qfkd','chinapost')
 print('////////////////快递公司////////////////\n1.顺丰 2.韵达 3.申通 4.圆通 5.中通\n6.EMS 7.天天 8.汇通 9.全峰 10.邮政\n////////////////////////////////////////')
 while True:
 express = int(input('请选择快递公司(数字):'))
 if express:
  if express <= 10 and express >= 1:
  break
  else:
  print("错误的选择!")
 else:
  print("不能为空!")
 return express_type[express-1]

def get_url(code,id):
 url = 'http://m.46644.com/express/result.php?typetxt=%D6%D0%CD%A8&type=' + code + '&number=' + id

 return url

这样我们就完成了第一步!最终我们将所有的物流信息保存在一个list里

物流信息推送至邮箱

在上一步我们得到了快递的最新物流信息,那么如果我们想将最新的物流信息发送到邮箱该怎样操作呢?这也不困难,只需要使用 yagmail 模块就可以,安装也很简单 pip install  yagmail

直接看代码,以qq邮箱为例

def send(kuaidi):
 yag = yagmail.SMTP( user="登陆邮箱", password="密码", host='smtp.qq.com')
 # 邮箱正文
 contents = kuaidi
 # 发送邮件
 yag.send('目标邮箱', '最新快递追踪', contents)
 print('邮件发送成功')

第一行登陆邮箱,第二行填写发送内容,第三行发送邮件,小白也能看懂,但是需要注意的是这里的邮箱密码并不是你的QQ邮箱登陆密码而是 SMTP服务器 的密码,可以按照下面提示获取

这样只要我们写个命令行脚本定时查询你的快递物流信息发送至邮箱或者是让脚本每小时查询一次快递

#主程序
time.sleep(3600)

还是更以高频率去查询物流信息并在发生物流变动还是快递到达指定地点发送邮箱

#如果快递到达杭州则发送信息至邮箱
if '杭州' in kuaidi[0]:
 send()

或者是其他你关心的快递动态都可以自定义。当然要记住 只能用于自己查查快递并且注意请求频率不要对人家的服务造成影响 。

总结

到此这篇关于使用python自动追踪你的快递的文章就介绍到这了,更多相关python自动追踪快递内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python+OpenCV实现实时眼动追踪的示例代码

    使用Python+OpenCV实现实时眼动追踪,不需要高端硬件简单摄像头即可实现,效果图如下所示. 项目演示参见:https://www.bilibili.com/video/av75181965/ 项目主程序如下: import sys import cv2 import numpy as np import process from PyQt5.QtCore import QTimer from PyQt5.QtWidgets import QApplication, QMainWindow

  • OpenCV3.0+Python3.6实现特定颜色的物体追踪

    一.环境 win10.Python3.6.OpenCV3.x:编译器:pycharm5.0.3 二.实现目标 根据需要追踪的物体颜色,设定阈值,在视频中框选出需要追踪的物体. 三.实现步骤 1)根据需要追踪的物体颜色,设定颜色阈值,获取追踪物体的掩膜 代码:generate_threshold.py # -*- coding : utf-8 -*- # Author: Tom Yu import cv2 import numpy as np cap = cv2.VideoCapture(0)#获

  • python+opencv实现动态物体追踪

    简单几行就可以实现对动态物体的追踪,足见opencv在图像处理上的强大. python代码: import cv2 import numpy as np camera=cv2.VideoCapture(0) firstframe=None while True: ret,frame = camera.read() if not ret: break gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) gray=cv2.GaussianBlur(gray,(21

  • 浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估

    使用摄像头追踪人脸由于血液流动引起的面部色素的微小变化实现实时脉搏评估. 效果如下(演示视频): 由于这是通过比较面部色素的变化评估脉搏所以光线.人体移动.不同角度.不同电脑摄像头等因素均会影响评估效果,实验原理是面部色素对比,识别效果存在一定误差,各位小伙伴且当娱乐,代码如下: import cv2 import numpy as np import dlib import time from scipy import signal # Constants WINDOW_TITLE = 'Pu

  • 使用python自动追踪你的快递(物流推送邮箱)

    前言 最近国内疫情状况好转,快递业也逐渐恢复,大家的快递是不是跑起来了?本文就来讲解如何让 python自动为你查询快递信息 ,并在物流发生更新或者到达指定地点时第一时间将 物流推送至你的邮箱 其实并不复杂,只需要两步即可搞定: 爬取物流动态信息 将信息推送至邮箱 物流追踪 先说一下走过的坑,在一开始的思路就是去找个快递查询的网站查一下快递,然后抓一下包就能拿到我们需要的内容,然后写个爬虫去追踪快递信息,结果一百度发现基本国内查快递的网站用的都是快递100的API,申请个API还要提供一个网站供

  • python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用requests.get()获取的内容是不含推送消息的,这里使用selenium+PhantomJS处理 代码 #! /usr/bin/env python3 from selenium import webdriver from datetime import datetime import bs4, requ

  • python获取地震信息 微信实时推送

    本文实例为大家分享了python获取地震信息微信实时推送的具体代码,供大家参考,具体内容如下 import requests,time from lxml import etree from wxpy import * # 微信登陆 bot = Bot() # 查找好友 group = bot.groups().search('珍爱生命 远离lisp')[0] #写自己的讨论组名称 with open('log.txt', 'r') as f: rember = f.readline() hea

  • Python 京东云无线宝消息推送功能

    配置文件 注释里面有写,懒得用配置文件了 代码 # 京东云无线路由宝推送 import requests import json import time import hmac import hashlib import base64 import urllib.parse from datetime import datetime # 发送钉钉消息 def sendinfo_ding(token,secret,data): dic=get_timestamp_and_sign_by_secre

  • 13行python代码实现对微信进行推送消息的示例代码

    目录 单人推送 一对多推送 Python可以实现给QQ邮箱.企业微信.微信等等软件推送消息,今天咱们实现一下Python直接给微信推送消息. 这里咱们使用了一个第三方工具pushplus 单人推送 实现步骤: 1.用微信注册一个此网站的账号2.将token复制出来,记录到小本本上. 代码展示 import requests def send_wechat(msg): token = 'XXXXXXXXXXXX'#前边复制到那个token title = 'title1' content = ms

  • 利用Python将每日一句定时推送至微信的实现方法

    前言 前几天在网上看到一篇文章<教你用微信每天给女票说晚安>,感觉很神奇的样子,随后研究了一下,构思的确是巧妙.好,那就开始动工吧!服务器有了,Python环境有了,IDE打开了...然而...然而...我意识到了一个非常严重的问题...没有女朋友 (T_T)... 微信开发已经活跃了很长时间了,在微信开发中有一个神奇的接口它叫模板消息接口,它可以根据用户的openid从服务端给用户推送自定义的模板消息,正因如此,我们可以利用这个特征在服务器端随时向用户推送消息(前提是该用户关注了该公众号).

  • 详解Python实现URL监测与即时推送

    目录 原理 环境 代码 crontab计划任务配置 预警消息效果 总结 原理 采用Python requests发起请求监测的URL,检测Http响应状态及是否超时,如果Http状态异常或响应超时,则通过聚合云推的消息推送API将预警消息发送至邮箱.钉钉机器人.企业微信机器人.微信公众号等,服务端通过crontab定时(每分钟)执行代码,实现动态监测功能. 环境 操作系统: CentOS 7.x Python版本: 3.6 消息推送服务: tui.juhe.cn 代码 #!/usr/bin/py

  • 使用Python制作自动推送微信消息提醒的备忘录功能

    日常工作生活中,事情一多,就会忘记一些该做未做的事情.即使有时候把事情记录在了小本本上或者手机.电脑端备忘录上,也总会有查看不及时,导致错过的尴尬.如果有一款小工具,可以及时提醒,而不用再主动去查备忘录,化被动为主动,那就再合适不过了.因此,在这里我们就利用Python,实现这样的一款"小工具". 初步设想 毫无疑问,手机是当前使用最频繁的工具,没有之一.饭可以不吃,手机不可以不带.如果能在某些特定的时点,将备忘记录事项通过某种形式发送到手机端,通过查看手机端消息实现事项提醒,那将是再

  • 40行Python代码实现天气预报和每日鸡汤推送功能

    情人节刚过去几天,但是这和我们程序员有什么关系呢,对我们来说,万物皆对象.但是啊,小编为了讨得仰慕已久的女神的欢心(真香),便用python爬取了爱词霸网站的每日一句和天气预报网站的天气预报,并且每天定时将内容推送到女神的手机短信中(代码实现,不需要短信费哦). 好东西要学会分享,因此小编打算分三个步骤来教大家实现,最后会给出源代码. 第一步,实现爬取爱词霸网站的每日一句: 爱词霸的每日一句包括了英文版和中文版.爬取下来实际上4行有效代码就能搞定,不过为了提高代码的重用性,就将这个功能封装成了一

  • 15行Python代码实现免费发送手机短信推送消息功能

    实现的功能: 通过代码定时给手机推送短信,短信内容可以自定义文字,当然你也可以去别的网站爬取每日心灵鸡汤,天气预报或其它信息进行推送.关于爬取数据可以参考:Python40行代码实现天气预报和每日鸡汤推送 本文主要讲如何实现发送短信的功能,全部代码只用15行. 首先贴出实现的效果图,后面再分两步详细描述实现过程,第一步免费注册api接口,第二步只需要写10来行代码. 代码运行后本地收到返回的执行情况: 手机收到代码发送过来的短信截图: 实现过程: 1.免费注册获取发送短信的api接口 我们需要A

随机推荐