背景

有个朋友计划拓展业务渠道,准备在众包平台上接单,他的主营产品是微信小程序,因此他想第一时间收到客户发出的需求信息,然后第一时间联系客户,这样成交率才能够得到保障,否则单早都被其他同行接完了,他的黄花菜也就都凉了。

开发环境

  • 开发语言 Python ,开发架构Scrapy,非 Python 莫属,数据采集的神器!
  • 开发工具 PyCharm;

功能设计

  • 实时通知:采用发邮件方式通知,将邮箱绑定到微信,实现实时通知的效果。
  • 过滤模块:根据标题和内容双重过滤关键词,不符合要求的订单丢弃,符合要求的订单实时通知。
  • 配置模块:采用json文件配置。

关键代码

  • 采集模块
# -*- coding: utf-8 -*-
import reimport scrapy
from flask import json
from requests import Request
from scrapy import Selector
from .. import common
import timefrom selenium import webdriver
from selenium.webdriver.chrome.options import Optionsclass CodemarttaskSpider(scrapy.Spider):name = 'codemarttask'allowed_domains = ['codemart.com']start_urls = ['https://codemart.com/api/project?page=1&roleTypeId=&status=RECRUITING']# 重要,需要修改 application/json ,否则默认返回的是xml数据!!!def parse(self, response):# 30 item per page# print(response.text)print("--------------------------------------------------------------------------------------------------------")json_data = json.loads(response.text)rewards = json_data.get("rewards")print(rewards)url_prefix = "https://codemart.com/project/"sended_id = common.read_taskid()max_id = sended_idprint("sended_id ", sended_id)for node in rewards:id = node.get("id")id_str = str(id)name = node.get("name")description = node.get("description")price = node.get("price")roles = node.get("roles")  # 招募:【roles】status = node.get("status")pubTime = node.get("pubTime")url = url_prefix + id_strprint(name)print(pubTime)print(price)if id > sended_id:if id > max_id:max_id = idsubject = "CodeMart " + id_str + " " + name# content = price + "\n" + description + "\n" + url + "\n" + status + "\n" + roles + "\n"content = "%s <p> %s <p> < a href=%s>%s</ a>  <p> %s <p> %s" % (price, description, url, url, status, roles)if common.send_mail(subject, content):print("CodeMart mail: send task <%r> sucess " % id)else:print("CodeMart mail: send task <%r> fail " % id)else:print("mail: task is already sended  <%r>" % id)time.sleep(3)# 记录最大idcommon.write_taskid(id=max_id)
  • 通知模块

def send_mail(subject, content):sender = u'xxxxx@qq.com'  # 发送人邮箱passwd = u'xxxxxx'  # 发送人邮箱授权码receivers = u'xxxxx@qq.com'  # 收件人邮箱# subject = u'一品威客 开发任务 ' #主题# content = u'这是我使用python smtplib模块和email模块自动发送的邮件'    #正文try:# msg = MIMEText(content, 'plain', 'utf-8')msg = MIMEText(content, 'html', 'utf-8')msg['Subject'] = subjectmsg['From'] = sendermsg['TO'] = receiverss = smtplib.SMTP_SSL('smtp.qq.com', 465)s.set_debuglevel(1)s.login(sender, passwd)s.sendmail(sender, receivers, msg.as_string())return Trueexcept Exception as e:print(e)return False

总结

程序上线后稳定运行,实现了预期的效果,接单率效果杠杠的!

附:Scrapy 结构图

-------------------------------------------------------------------------------------------------------------------

本次分享结束,欢迎讨论!QQ微信同号: 6550523

本文章仅供技术交流,不得商用,不得转载,违者必究。

数据采集 - 获取【码市】最新发布需求,并实时通知用户 案例二相关推荐

  1. 【定制开发】【M5】Python爬虫 - 获取【一品威客】最新发布需求,并实时通知用户

    背景 有个朋友计划拓展业务渠道,准备在众包平台上接单,他的主营产品是微信小程序,因此他想第一时间收到客户发出的需求信息,然后第一时间联系客户,这样成交率才能够得到保障,否则单早都被其他同行接完了,他的 ...

  2. 微信扫码支付实时通知用户订单支付状态

    前言 个人支付上线有一段时间了,也产生了几百条订单,不少热心的同志一分.一毛的在支付,都是满满的热情啊!为了更好的服务大家,小编决定接入实时通知用户订单支付状态的小功能. 实现思路 市面上一般有两种实 ...

  3. 求定制闲鱼爬虫获取最新发布商品

    闲鱼采集及监控下单软件开发 1,点击宝贝右键打开网页 2,点击宝贝右键拉黑卖家 3,点击宝贝右键清空列表 4,点击宝贝左键显示二维码和主图 5,软件页面显示宝贝二维码 6,软件页面显示宝贝主图 7,软 ...

  4. asp毕业设计——基于asp+access的新闻发布系统设计与实现(毕业论文+程序源码)——新闻发布系统

    基于asp+access的新闻发布系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的新闻发布系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开 ...

  5. 利用FFmpeg将 IPCamera 的RTSP转码成RTMP发布在RED5

    利用FFmpeg将 IPCamera 的RTSP转码成RTMP发布在RED5   因为最近的项目需求,要做IP摄像头的网络直播,初步的想法是想使用Red5作为流媒体服务器,使用RTMP协议发布. 整理 ...

  6. C#毕业设计——基于C#+asp.net+sqlserver的课件发布网站设计与实现(毕业论文+程序源码)——课件发布网站

    基于C#+asp.net+sqlserver的课件发布网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的课件发布网站设计与实现,文章末尾附有本毕 ...

  7. 【java毕业设计】基于javaEE+Spring的新闻发布及管理系统设计与实现(毕业论文+程序源码)——新闻发布及管理系统

    基于javaEE+Spring的新闻发布及管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于javaEE+Spring的新闻发布及管理系统设计与实现,文章末尾附有本毕业设计的论文和源 ...

  8. 推荐几个全网最全的程序员接私活地方法或完整攻略或常用平台以及接单的注意事项(以免被雇主坑),比如国内的程序员客栈、CODING 码市,国外的Upwork、Freelancer、Dribbble等。

    文章目录 1. 引言 2. 加QQ群.微信群等 3. 朋友.同事.同学介绍 4. 国内远程工作平台 4.1 程序员客栈 4.2 CODING 码市 4.3 开源众包 4.4 猪八戒 4.5 英选 4. ...

  9. Coding 码市:携手开发者与创业者,重新定义软件外包

    本文为 Coding.net CEO 张海龙在10.20日于北京的 Coding 战略发布会演讲实录.本次发布会发布了新产品码市,重新定义软件外包.点击阅读原文可以查看活动现场. 重新定义软件外包,打 ...

最新文章

  1. [Java基础] Java如何实现条件编译
  2. mysql sql优化_浅谈mysql中sql优化
  3. Nginx教程系列三:Nginx常用命令
  4. boost::leaf::function_traits用法的测试程序
  5. urllib2库的基本使用
  6. Oracle BBED 工具介绍
  7. 嵌入式设计---(2)任务管理与调度
  8. 随想录(uclibc的学习)
  9. python解图片迷宫_[宜配屋]听图阁
  10. AI风向标:发改委重大工程项目公布,首个无人车路测试点落户亦庄
  11. 实现DEDE转跳属性文档在模板上调用出转跳地址
  12. 华为ensp模拟器实现通信安全(交换机配置vlan)
  13. Spring学习的书-夏昕(3)
  14. PC微信逆向之发送消息
  15. thread ,socket
  16. HTML系列之水平线标签hr
  17. 如何实现多源异构系统数据整合?
  18. 递归算法实例应用(五)
  19. LibreCAD环境配置
  20. 什么是私有云?您应该知道的 6 个优势

热门文章

  1. Windows10下的FPN_TensorFlow复现
  2. vue+flv.js实现视频播放
  3. matlab中ode指令,matlab中ode5函数编写.doc
  4. 项目记录-手机号码限制频次
  5. Markdown基操
  6. iOS之KVC原理自定义KVC
  7. 我优化了李笑来的MarkdownHere,附css样式代码,文章排版再也不用愁了
  8. Linux 添加一块新硬盘
  9. android stretchpanel控件,TableLayoutPanel 这个控件有没有替代的,而且可以动态Sizable,该如何解决...
  10. AutoCAD无法显示虚线的解决方法