- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章用pushplus+python监控亚马逊到货动态推送微信由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
xbox series和ps5发售以来,国内黄牛价格一直居高不下。虽然海外amazon上ps5补货很少而且基本撑不过一分钟,但是xbox series系列明显要好抢很多.
日亚、德亚的xbox series x/s都可以直邮中国大陆,所以我们只需要借助脚本,监控相关网页的动态,在补货的第一时刻通过微信告知我们,然后迅速人工购买即可! 。
需求:pushplus(需要微信关注公众号)、python3 。
pushplus提供了免费的微信消息推送api,具体内容可以参考他的官网:pushplus(推送加)微信推送消息直达 (hxtrip.com) 。
我们需要用到的东西有,登陆后的个人token(用于精准推送消息),如图:
调用该接口可使用如下代码,token为上面提到的你个人的token,titile对应推送标题,content对应推送内容,此代码借鉴了官方demo 。
1
2
3
4
5
6
7
8
9
10
|
def
post_push(token, title, content):
url
=
'http://pushplus.hxtrip.com/send'
data
=
{
"token"
: token,
"title"
: title,
"content"
: content
}
body
=
json.dumps(data).encode(encoding
=
'utf-8'
)
headers
=
{
'content-type'
:
'application/json'
}
requests.post(url, data
=
body, headers
=
headers)
|
不出意外的话,你在编写代码时,amazon应该处于无货状态(有货直接就买了啊喂)!!!我们在此时打开amazon页面,可以看到如下界面:
在新版edge浏览器或者chrome下,按f12查看网页源码,选定中间currently unavailable标识的区域(五颗星下面那个,最好覆盖范围大一点),能看到代码如下:
有一个比较简单的办法,判断amazon是否有补货。我们可以抓取这一部分的html源码,存进一个文件里(txt即可)。每过一定时间,重新抓取源码,如果这些源码变化了,那么基本上是网站更新了(补货了)。不过有个小瑕疵,这种补货也可能是亚马逊第三方(黄牛)补货- - 。
不过总归是有了一个判断上新的方法嘛;其实黄牛补货很少的,德亚上好像看不到黄牛(我个人没见过德亚上的第三方卖xsx的),日亚上基本没有啥黄牛卖xbox 。
好了,接下来,我们看看如何实现相关功能 。
我们使用requests+beautfifulsoup来抓取<div id = 'availability_feature_div> </div>这个标签内部的所有html源码 。
1
2
3
4
5
6
7
8
|
headers
=
{
"user-agent"
:
"mozilla/5.0 (linux; android 9; sm-a102u) applewebkit/537.36 (khtml, like gecko) chrome/79.0.3945.93 mobile safari/537.36"
,
'content-type'
:
'application/json'
}
html
=
requests.get(url
=
self
.url, headers
=
headers)
soup
=
beautifulsoup(html.text,
'lxml'
)
html.close()
target
=
str
(soup.find(
'div'
,
id
=
'availability_feature_div'
))
|
注意如果不加headers的话,amazon会检测到爬虫,不会给你返回完整html代码。第7行把requests给close掉是因为,我在监测时开了两个线程同时检测日亚和德亚,如果不加这一句的话,会被amazon认为是我在攻击网站,会拒绝我的网络访问 。
最终的target是被转为str格式的相应html源码,接下来只需要将其保存到文件,每隔一定时间再次爬虫比对就行了 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
import
json
import
requests
from
bs4
import
beautifulsoup
import
filecmp
import
time
import
threading
class
listenthread(threading.thread):
def
__init__(
self
, url, originfile, newfile, content):
threading.thread.__init__(
self
)
self
.url
=
url
self
.originfile
=
originfile
self
.newfile
=
newfile
self
.content
=
content
def
listen(
self
):
headers
=
{
"user-agent"
:
"mozilla/5.0 (linux; android 9; sm-a102u) applewebkit/537.36 (khtml, like gecko) chrome/79.0.3945.93 mobile safari/537.36"
,
'content-type'
:
'application/json'
}
html
=
requests.get(url
=
self
.url, headers
=
headers)
soup
=
beautifulsoup(html.text,
'lxml'
)
html.close()
target
=
str
(soup.find(
'div'
,
id
=
'availability_feature_div'
))
filetxt
=
open
(
self
.originfile,
'w'
, encoding
=
'utf-8'
)
filetxt.write(target)
filetxt.close()
while
true:
target
=
str
(soup.find(
'div'
,
id
=
'availability_feature_div'
))
filetxt
=
open
(
self
.newfile,
'w'
, encoding
=
'utf-8'
)
filetxt.write(target)
filetxt.close()
if
filecmp.
cmp
(
self
.originfile,
self
.newfile)
=
=
false:
post_push(
'这里输你自己的token'
,
'xbox update'
,
self
.content)
fileavail
=
open
(
self
.originfile,
'w'
)
fileavail.write(target)
fileavail.close()
time.sleep(
30
)
def
run(
self
):
self
.listen()
def
post_push(token, title, content):
url
=
'http://pushplus.hxtrip.com/send'
data
=
{
"token"
: token,
"title"
: title,
"content"
: content
}
body
=
json.dumps(data).encode(encoding
=
'utf-8'
)
headers
=
{
'content-type'
:
'application/json'
}
requests.post(url, data
=
body, headers
=
headers)
if
__name__
=
=
'__main__'
:
detect_url
=
'https://www.amazon.co.jp/-/en/dp/b08ggkz34z/ref=sr_1_2?dchild=1&keywords=xbox&qid=1611674118&sr=8-2'
#url_special = 'https://www.amazon.co.jp/-/en/dp/b08gg17k5g/ref=sr_1_6?dchild=1&keywords=xbox%e3%82%b7%e3%83%aa%e3%83%bc%e3%82%bax&qid=1611722050&sr=8-6'
url_germany
=
'https://www.amazon.de/microsoft-rrt-00009-xbox-series-1tb/dp/b08h93zrll/ref=sr_1_2?__mk_de_de=%c3%85m%c3%85%c5%bd%c3%95%c3%91&dchild=1&keywords=xbox&qid=1611742161&sr=8-2'
xbox
=
listenthread(url
=
detect_url,originfile
=
'avail.txt'
,newfile
=
'avail_now.txt'
,content
=
'日亚'
)
#xbox_sp = listenthread(url=detect_url,originfile='avail_sp.txt',newfile='avail_now_sp.txt')
xbox_germany
=
listenthread(url
=
url_germany,originfile
=
'avail_sp.txt'
,newfile
=
'avail_now_sp.txt'
,content
=
'德亚'
)
xbox.start()
#xbox_sp.start()
xbox_germany.start()
|
本代码开了两个线程分别监控日亚和德亚的xsx,detect_url是日亚链接,url_germany是德亚链接; 。
注意:德亚能够直接上,日亚如果你上不去自己想办法(不能说的东西,你懂的) 。
里面originfile和newfile的文件名可以随意命名,originfile指的是之前爬虫的html,newfile是新的爬虫html,如果内容不一样,就会收到微信消息推送啦 。
这个图只是测试用的,这个时刻日亚也没有真的补货哈哈哈 。
以上就是用pushplus+python监控亚马逊到货动态推送微信的详细内容,更多关于pushplus+python监控亚马逊到货动态的资料请关注我其它相关文章! 。
原文链接:https://www.cnblogs.com/feiyue666/p/14336870.html 。
最后此篇关于用pushplus+python监控亚马逊到货动态推送微信的文章就讲到这里了,如果你想了解更多关于用pushplus+python监控亚马逊到货动态推送微信的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我已经在 ubuntu 14.0 上成功安装了 Zabbix 3.2 服务器主机上的 Z 是绿色的。不幸的是,JMX 是红色的。 Zabbix 服务器:192.168.1.112 带有 tomcat
我想制作一个仪表板,显示我们的 Azure 服务总线队列的状态,并显示“添加到队列的消息”、“队列长度”和“已处理的消息”等的历史记录。使用 Azure 管理门户,我可以看到,这些统计信息大部分是手动
我的 MYSQL 每天晚上都有事件,但我不太确定发生了什么,因为即使我将其设置得早于其他事件,它仍然在早上运行。 问题是,我如何检查运行事件的历史记录或日志,哪一个晚上锁了,哪一个是跑了没跑? 谢谢
1、监控log文件大小超过10g的server 和db 复制代码代码如下: create procedure db_sendmail_mssqllogsize as&n
本教程讨论如何使用 AspectJ 开源框架监控 Spring 应用程序在方法执行方面的性能。 传统上,监控每个 Java 方法所花费的时间的最简单方法是在方法的开头和结尾包含一些跟踪行: publi
有什么可以帮助 msmq 监控的吗?当消息出现在队列中并且在休假时相同时,我想获得一些事件/监视器。 最佳答案 查看 Windows 管理性能计数器。 如果您查看管理工具并找到“性能计数器”,您将能够
我的 Tomcat 中的一个巨大的 web 应用程序有时会开始使用过多的 DBCP 连接,从而导致问题。 为了进行调查,我想在每个时间点准确地知道什么线程/方法持有池的连接。不需要是实时的,事后分析就
在浏览器的整个页面生命周期中监视 cookie 并在 cookie 更改时触发事件的最佳 JS 或 JQuery 特定方法是什么? 最佳答案 据我所知,不可能将 change (或类似)事件直接绑定(
我想尽可能详细地报告我的笔记本的执行情况。简而言之,我想实时查看我的笔记本正在执行的每个操作。例如,我的一个函数有一个 sleep 周期为 5 秒的循环,我希望看到程序实际上正在 sleep 并且循环
Azure 容器服务是否与 Azure Monitor 集成?想知道对 kubernetes 集群进行日志记录/监控的最佳方法是什么? 最佳答案 如果您正在 Azure 上寻找监视工具,您可能需要使用
我一直在尝试使用 erlang:monitor/2 来监视 gen_server。不幸的是,每次我尝试这个时,Erlang shell 都会进入无限循环。 这是我为测试这一点而编写的测试程序。 -mo
Azure 容器服务是否与 Azure Monitor 集成?想知道对 kubernetes 集群进行日志记录/监控的最佳方法是什么? 最佳答案 如果您正在 Azure 上寻找监视工具,您可能需要使用
我想使用 编写一个 shell 脚本来监控集群中的消费者滞后 bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zkconnect
在 .NET 中,假设 thread A 锁定了一个对象。同时,线程B和线程C被阻塞,等待线程A解锁对象。 现在,线程 A 解锁了对象。接下来将选择哪个线程(B 或 C)?它是如何确定的? 最佳答案
我搜索过这个主题,但发现很少有有用的细节。有了这些细节,我尝试编写一些代码如下。 注意:在将此帖子标记为重复之前,请将此帖子中共享的详细信息与其他帖子进行比较,而不仅仅是按主题。 - (NSArray
目录 1、指标监控 2、常用的监控端点 3、定制EndPoint 4、spring boot admin(可以使用)
我们使用 Prometheus 和 Grafana 来监控我们的 Kafka 集群。 在我们的应用程序中,我们使用 Kafka 流,Kafka 流有可能因异常而停止。我们正在记录事件 setUnCau
我正在建立一个复杂的网络仿真,并试图捕捉一些重要的性能测量。 我在服务器上运行了 mininet,并且我将视频从一个 mininet 主机流式传输到另一个(使用 -nodisp 选项,因为我没有 GU
Jenkins 的 openstack-plugin 使用 openstack4j 与 openstack 云对话。我正在寻找一种方法,我们可以从客户端的角度监控 openstack4j 所做的 ht
我正在处理一项需要监控 Thunderbolt 端口连接变化的要求。 (当连接或断开 Thunderbolt 电缆时)。 我尝试使用 IOServiceMatching(kIOUSBInterface
我是一名优秀的程序员,十分优秀!