python爬取成都市档案到档邮件提醒

一、必须要档案到了才能落户当地区域,天天都去成都人才网查看,就觉得很烦,有什么骚操作不用天天起查询呢?是的当然有,python爬取对应接口数据,在通过邮件发送提醒。
二、准备工作
网站地址:https://s.rc114.com/Doc/Query.aspx

在这里插入图片描述

F12打开开发者模式:
像这种数据传输一般都是与后台数据库交互,想都不用想肯定是post传入,涉及post请求,一般都有form_data一起请求,把他找出来,输入username,身份证ID

在这里插入图片描述
点击查询会出现
在这里插入图片描述
在这里插入图片描述
真正url:https://s.rc114.com/Doc/DocHandler.ashx
form_data
在这里插入图片描述
大多数这种都是json,看一下json
在这里插入图片描述

3、开始编写骚操作
爬虫+邮件发送+定时任务(linux crontab )

import requests
import json
import smtplib
from email.mime.text import MIMEText
mail_host="smtp.163.com"  #设置服务器
port=465
sender = '*****@163.com' #发送邮件邮箱
receivers = '*****@qq.com' #接收邮件,可设置为你的QQ邮箱或者其他邮箱
# mail_user="****@163.com"    #用户名
mail_pass="PAH****"   #授权口令

subject = 'Python SMTP 档案'
message = MIMEText('档案已经在成都市', 'plain', 'utf-8') #直接编写到档提示信息
message['Subject'] = subject
message['From'] = sender
message['To'] = receivers
url="http://s.rc114.com/Doc/DocHandler.ashx"
headers={
    'Cookie': 'rc_sys=rc114; Hm_lvt_57c48c2407b9363122624c39f3e251df=1637722402,1637807060,1637823989,1637896407; Hm_lpvt_57c48c2407b9363122624c39f3e251df=1637896407; ASP.NET_SessionId=lzdsbnajjjqn2rwoakyr2taz; UM_distinctid=17d5abc54cd7ac-0fa31e91309e56-978183a-1fa400-17d5abc54ce8c7; Hm_lvt_9aeccbcbcb18f156125f87c7ae3f0c91=1637823991,1637896409,1637904762,1637906074; Hm_lpvt_9aeccbcbcb18f156125f87c7ae3f0c91=1637906074',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36',
    'Host': 's.rc114.com',
    'Origin': 'http://s.rc114.com',
    'Referer': 'http://s.rc114.com/Doc/Query.aspx'
}
date_from={
    'cmd': 'querydoc_sc',
    'category': 0,
    'pname': '***', #自己姓名
    'queryPlus': '51************' #身份证号码
}
html=requests.post(url,headers=headers,data=date_from).text
a=json.loads(html)['Body']
for i in a:
    name=i['pname']
    dangan=i['docNowUnitName']
    time_1=i['docInTime']
    zt=i['docStateName']
    ycd=i['docOldUnit']
    print(name,dangan,time_1,zt,ycd)
    if zt == '在库':
        try:
            smtpObj = smtplib.SMTP_SSL(mail_host,port)
            # smtpObj.connect(mail_host, 465)  # 25 为 SMTP 端口号
            smtpObj.login(sender, mail_pass)
            smtpObj.sendmail(sender, receivers, message.as_string())
            smtpObj.close()
            print("邮件发送成功")
        except smtplib.SMTPException:
            print("Error: 无法发送邮件")
    else:
        print("还没有在库呢!")

4、在主机linux服务上设置定时任务
没有python环境的自己装一下
[root@master ~]# crontab -e
#这里设置成一个小时抓取一次
0 /1 * * * python3 mess.py 或者/60 * * * * python3 mess.py

5、到档就会给你发送邮件,直接去办理就行了

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值