当前位置: 首页 > news >正文

江苏品牌网站设计新网站排名优化

江苏品牌网站设计,新网站排名优化,网站设计怎么写,江苏省住房和城乡建设厅网站文章目录 一、概要二、效果演示三、代码讲解3.1 爬虫采集行政处罚数据3.2 存MySQL数据库3.3 发送告警邮件微信通知3.4 定时机制 四、总结 一、概要 您好#xff01;我是马哥python说#xff0c;一名10年程序猿。 我原创开发了一套定时自动化爬取方案#xff0c;完整开… 文章目录 一、概要二、效果演示三、代码讲解3.1 爬虫采集行政处罚数据3.2 存MySQL数据库3.3 发送告警邮件微信通知3.4 定时机制 四、总结 一、概要 您好我是马哥python说一名10年程序猿。 我原创开发了一套定时自动化爬取方案完整开发流程如下 采集数据 - 筛选数据 - 存MySQL数据库 - 发送邮件 - 微信提醒 - 定时执行 如果您现在苦于每天繁琐、重复的数据采集工作可尝试套用该自动化方案节省人力降本增效 二、效果演示 基于数据隐私保护部分数据已脱敏。 图2.1 MySQL数据库结果部分数据已脱敏 图2.2 Excel结果部分数据已脱敏 图2.3 微信消息提醒 图2.4 收件箱告警邮件 图2.5 邮件正文内容部分数据已脱敏 以上。 三、代码讲解 3.1 爬虫采集行政处罚数据 爬取目标是某公示平台的行政处罚数据。 通过浏览器的开发者模式分析接口页面显示数据与接口返回数据一致故可通过爬取接口的方式采集。 图3.1 开发者模式 首先导入需要用到的库 import requests # 发送请求 import pandas as pd # 存取csv import os # 判断本地文件 import random # 随机 from time import sleep # 等待时长防止反爬 from sqlalchemy import create_engine # 连接数据库 import json # 转换数据格式然后定义请求头真实地址已脱敏 # 请求头 headers {Accept: application/json, text/javascript, */*; q0.01,Accept-Encoding: gzip, deflate, br,Accept-Language: zh-CN,zh;q0.9,en-US;q0.8,en;q0.7,Connection: keep-alive,Content-Type: application/json;charsetUTF-8,Cookie: 换成自己的cookie,Host: xxx,Origin: xxx,Referer: xxx,sec-ch-ua: Chromium;v112, Google Chrome;v112, Not:A-Brand;v99,sec-ch-ua-mobile: ?0,sec-ch-ua-platform: macOS,Sec-Fetch-Dest: empty,Sec-Fetch-Mode: cors,Sec-Fetch-Site: same-origin,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36,X-Requested-With: XMLHttpRequest }定义请求参数即开发者中的payload参数不再展示。 发送post请求并接收返回数据 # 发送post请求 r requests.post(url, headersheaders, datajson.dumps(data)) # 查看响应码 print(r.status_code) # json解析数据 resp_json r.json() data_list resp_json[data][list]逐个解析返回数据以处罚金额为例 for data in data_list:# 处罚金额punish_amount data[f_2022118615143]try:if float(punish_amount) threshold: # 如果超过告警阈值就存入数据punish_amount_list.append(punish_amount)else: # 否则进入下一轮循环continueexcept:continue这里解释一下如果处罚金额超过事先设定好的阈值则存入数据否则不存continue进入下一轮循环由此达成告警的目的。 其他字段案件名称、处罚人姓名、处罚日期、处罚机关等同理不再赘述代码。 最后是保存数据到csv文件 # 保存数据到Dataframe df pd.DataFrame({页码: page,案件名称: case_name_list,处罚人姓名: punish_name_list,处罚金额: punish_amount_list,处罚日期: punish_time_list,处罚机关: punish_org_list,} ) # 保存到csv文件 df.to_csv(result_file, modea, headerheader, indexFalse, encodingutf_8_sig)数据存入csv效果查看图2.2。 3.2 存MySQL数据库 如上所述数据保存到csv文件作为临时存储下面保存到MySQL数据库作为持久性存储。 我采用sqlalchemy和pandas的to_sql结合的方式把csv数据快速导入MySQL数据库。 关键代码真实信息已脱敏 # 创建MySQL数据库连接 engine create_engine(mysqlpymysql://用户名:密码IP地址/数据库名) # 读取csv数据 df_punish pd.read_csv(result_file) # 把csv数据导入MySQL数据库 df_punish.to_sql(nametable_name, conengine, chunksize1000, if_existsreplace, indexFalse) print(导入数据库完成)这样的简单3行代码即实现了csv数据导入MySQL数据库的目的。 注意to_sql中的if_exists代表如果表中存在数据那么replace覆盖原始数据这样不会产生重复数据。当然也可以加个ist_time插入时间的区分字段这样可以把if_exists设置为append保证每次爬取都留痕你可以试试我认为这样代码更完善、效果更好。 数据入库效果查看图2.1。 3.3 发送告警邮件微信通知 自动发送邮件我采用zmail库实现。 关键代码真实信息已脱敏 def send_email(v_location, v_content):# 当前时间戳now datetime.datetime.now().strftime(%Y-%m-%d %H:%M:%S)# 设置邮件信息mail_content {subject: 税务行政处罚预警邮件 | {} | {}.format(v_location, now), # 邮件标题content_text: 尊敬的管理员您好\n\n以下是【{}】税务行政处罚预警名单请注意查收。\n\n.format(v_location) v_content # 邮件内容}# 发件人的用户名和密码server zmail.server(xxxqq.com, xxx) # 发件人# 发送邮件server.send_mail(xxxqq.com, mail_content) # 收件人print(邮件已发送完毕:, v_location)注意发件人的smtp服务必须开启否则会邮件发送失败如下 图3.2 邮箱开启smtp服务 邮件收到了怎么实现的微信通知呢秘密就是把微信的邮件功能打开如下 图3.3 微信设置 微信我 - 设置 - 通用 - 辅助功能 - QQ邮箱提醒 - 开启功能 这样就能让微信收到消息提醒了效果如图2.3所示。 多说一句请勿尝试用itchat、wxpy等第三方库操作微信微信官方已停用这类工具且存在封号风险不信你就逝世[手动狗头] 3.4 定时机制 定时执行也是采用简单粗暴的方式直接os.system调用分别的py文件死循环加sleep的方式 while True:# 执行爬虫print(get_now(), 开始爬虫)os.system(python 爬虫.py)print(get_now(), 爬取结束)sleep(1)# 发邮件print(get_now(), 开始发预警邮件)os.system(python 发预警邮件.py)print(get_now(), 结束发预警邮件)sleep(1)# 等待时长60分钟print(get_now(), 开始等待60分钟..)sleep(3600)这样程序只要在后台一直运行就好了每隔3600秒即1小时自动执行一次可自定义设置间隔时长。 最终得到的效果就是每隔1小时微信收到一次消息通知效果如图2.3所示。 四、总结 这套定时采集通知方案全流程均由本人原创开发可套用到类似业务需求上其中部分环节可根据需要扩展相关功能。请小伙伴们打开脑洞码上开发 如文中所说部分信息涉及隐私保护所以不提供完整代码有类似需求的小伙伴可私信讨论。 我是马哥python说一名10年程序猿持续分享Python干货中
http://www.yutouwan.com/news/317680/

相关文章:

  • 中鑫华源建设投资集团网站湘潭网站建设方案案例
  • 网站建设人工费wordpress去顶部文字
  • 免费帮朋友做网站大连seo皮皮
  • 微博网站认证 备案名称图片wordpress源码
  • 英文网站开发广州品牌策划公司有哪些
  • 广东网广东网站建设音乐介绍网站怎么做
  • 可以做区位分析的网站网络电商平台有哪些
  • 家里电脑可以做网站空间吗自己做的网站会被黑吗
  • 公司企业邮箱注册申请长沙网站seo方法
  • 做网站为什么要租服务器祁县网站建设
  • 青岛做英文网站的公司浏览网站手机响
  • 网站开发是做什么企业网站商城建设方案
  • 网站建设人员岗位职责做网站骗老外的钱
  • 网站开发培训哪里好大型门户网站系统
  • 淄博网站搭建公司网站好友邀请链接生成 php
  • 网站高端网站建设Wordpress有用么
  • 网站怎么做百度关键字搜索久久建筑网会员登陆
  • 免费制作一个企业网站wordpress做导航页面模板下载
  • 徐州企业建站网站开发计划书模板
  • 拦截网站做跳转建设考试网站
  • 代理记账 营销型网站做网站电脑配置要求个高吗
  • 厦门网站建设网站制作网站文字怎么做超链接
  • 企业门户网站建设优势安徽省住房建设工程信息网站
  • 搭建本地环境做网站建设网银登录网站
  • 北京哪些做网站的公司好有域名怎样做网站
  • 郑州网站建设的公司免费地方门户网站源码
  • 网站开发者工具解读品牌网站建设联系方式
  • 怎么建设官方网站工商公示信息查询系统官网
  • 好网站建设公司北京南宁seo网络推广
  • 视频制作软件app下载360优化大师下载安装