首页 快递头条 解放双手,用Python主动追寻你的快递

解放双手,用Python主动追寻你的快递

前语 现在电商如此兴旺,各种购物节几乎就没有距离,收快递成了很多人的日常日子的一部分。但有时分一个快递几天都没送到,你是否不由得重复去查,但又觉得费事呢? 今日咱们就来用pytho…

前语

现在电商如此兴旺,各种购物节几乎就没有距离,收快递成了很多人的日常日子的一部分。但有时分一个快递几天都没送到,你是否不由得重复去查,但又觉得费事呢?



今日咱们就来用python主动为你查询快递信息,并在物流产生更新或许抵达指定地址时第一时间将物流推送至你的邮箱。






其实并不杂乱,只需求两步即可搞定:

  • 爬取物流动态信息

  • 将信息推送至邮箱

物流追寻



直接上代码:



          import requests
import bs4
import re
kuaidi = []
url='http://m.46644.com/express/result.php?typetxt=%D6%D0%CD%A8type=ztonumber=你的单号'
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.(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%A8type=' + code + 'number=' + id
    
    return url

这样咱们就完成了第一步!终究咱们将一切的物流信息保存在一个list里:



物流信息推送至邮箱

在上一步咱们得到了快递的最新物流信息,那么假如咱们想将最新的物流信息发送到邮箱该怎样操作呢?这也不困难,只需求运用
yagmail
模块就能够,装置也很简单:

pip install yagmail




          def send(kuaidi):
    yag = yagmail.SMTP( user="登陆邮箱", password="暗码", host=)
    # 邮箱正文
    contents = kuaidi
    # 发送邮件
    yag.send('方针邮箱', '最新快递追寻', contents)
    print('邮件发送成功')


SMTP服务器
的暗码,能够依照下面提示获取



这样只需咱们写个命令行脚本,守时查询你的快递物流信息,并发送至邮箱。能够是让脚本每小时查询一次快递:



          主程序
time.sleep(3600)

也能够用更高频率去查询物流信息,并在产生物流变化或快递抵达指定地址发送邮箱:



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

也可自定义为其他你关怀的快递动态。



当然,在抓取信息时请注意:只能用于自己查查快递,而且恳求频率不要太高,避免影响人家的正常服务。


 







_
往期文章引荐
_







本文来自网络,不代表快递资讯网立场。转载请注明出处: http://www.llaiot.com/express-headline/1489.html
上一篇
下一篇

为您推荐

返回顶部