将什么值得买优惠信息部署到腾讯云函数并推送到QQ
来源:Python 技术「ID: pythonall」
什么值得买是一家分享电商优惠信息的网站,它的每个优惠信息都带有这个优惠商品是否值得的数值和的评论,这对消费者来说增加了一些信任度。小编也经常找一些生活用品,但经常也会错过大额的优惠内容。今天我们就把优惠信息推送到QQ。
服务器选择腾讯云函数,可以定时的运行脚本任务,免费,是爬虫脚本的好助手。
推送到 QQ 选择 qmsg 酱,因为它的操作很简单,登录后1分钟就会学会,使用 http 的方式推送内容到 QQ。
抓取网站
在网站的爆料人界面开始抓取与解析,把爆料人 ID 作为参数改变抓取页面的内容。
这个网页比较简单,只要找到 class 为 pandect-content-stuff 的 div 下的 A 标签超链接和 class 为 pandect-content-time 的 span 的内容。
import requests
from bs4 import BeautifulSoup
import time
userAgent = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36"
}
def parse_html(event, context):
now = time.time()
authorIds = ['1222805984']
for author in authorIds:
url = 'https://zhiyou.smzdm.com/member/' + author + '/baoliao/'
html_content = requests.get(url, headers = userAgent).content
soup = BeautifulSoup(html_content, 'html.parser', from_encoding='utf-8')
infos = soup.find_all(name='div',attrs={'class': 'pandect-content-stuff'})
for info in infos:
a = info.find(name='div', attrs={'class': 'pandect-content-title'}).a
t = info.find(name='span', attrs={'class': 'pandect-content-time'}).text
# 只推送 5分钟之内的爆料
content_time = time.mktime(time.strptime('2021-' + t + ':00', "%Y-%m-%d %H:%M:%S"))
if((now - content_time) < 5 * 60):
content = a.text.strip() + '\r\n' + a['href']
push_qmsg(content)
def push_qmsg(msg):
key = 'xxx'
url = 'https://qmsg.zendee.cn/send/' + key
msg = {'msg': msg}
requests.post(url, params=msg)
使用腾讯云函数
准备云函数目录
将第三方 BeautifulSoup 模块的 bs 文件夹和脚本文件放在同一个目录,
# 将 BeautifulSoup4 添加到 smzdm 文件夹下,将 bs 文件夹复制到和 py 脚本是同一级目录
pip install BeautifulSoup4 -t smzdm/
使用
在 https://console.cloud.tencent.com/scf/list-create?rid=1&ns=default
页面选择自定义创建,并将 函数代码和触发器配置面板写出下图的样子。
点击完成按钮后打开函数代码界面,并测试部署的是否正确。测试成功表示部署已经成功,可以 5 分钟抓取一次优惠信息了。
总结
用什么值得买的爬虫帮助大家免费的使用腾讯云函数,省下了花费在爬虫服务器金钱和心力。如果这篇文章对小伙伴有用,请多多点个赞和再看。