而循环干刮不

2024-04-25 23:09:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我对干刮有意见。 我创建了一个小脚本,它可以在假日网站上搜索价格,并将其与期望的价格进行比较。 它应该每隔一小时或者一天做一次。不过,我似乎不能循环脚本。你知道吗

第一次运行总是很好,第二次运行失败,因为我比较的变量是空的。你知道吗

在一些测试之后,我发现dryscrape部分在第二次运行时返回空数据,但我不知道为什么。也许你们中有人知道我做错了什么吗?代码的源代码可以在以下位置找到:

https://git.2li.ch/Nebucatnetzer/price_checker/src/test

具体如下:

https://git.2li.ch/Nebucatnetzer/price_checker/src/master/price_checker.py

这是测试运行的输出。 200是第一次运行的返回webserver返回代码,0是第二次运行的返回代码。你知道吗

[andreas@gwyn price_checker]$ ./price_checker.sh
200
No Match
0
Traceback (most recent call last):
  File "/home/andreas/git_repos/price_checker/price_checker.py", line 115, in <module>
    if website.extract_price() < settings.price:
  File "/home/andreas/git_repos/price_checker/price_checker.py", line 64, in extract_price
    lowest_price = min(int(s) for s in prices)
ValueError: min() arg is an empty sequence

到目前为止我试过的:

  • 让它在一小时后进行第二次运行,以避免被阻塞 服务器
  • 删除会话对象
  • 在我拿到文件后杀了webkit 页面数据
  • 在检索数据后重置会话

到目前为止,唯一真正起作用的是一个cronjob,它每隔一段时间执行脚本。不过,我更希望整个设置包含在python脚本及其配置文件中。它甚至可以工作一分钟。你知道吗

有人知道我做错了什么吗?你知道吗


Tags: 数据代码inpyhttpssrc脚本checker