一、必须要档案到了才能落户当地区域,天天都去成都人才网查看,就觉得很烦,有什么骚操作不用天天起查询呢?是的当然有,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、到档就会给你发送邮件,直接去办理就行了