虽然循环dryscrape不起作用

时间:2017-03-16 21:37:06

标签: python

我的dryscrape有问题。 我创建了一个小脚本,它会在假日网站上搜索价格并将它们与期望的价格进行比较。 它应该在每小时或每天一次的间隔内完成。但是我似乎无法循环脚本。

第一次运行总是正常,第二次运行失败,因为我比较的变量是空的。

经过一些测试后,我发现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脚本中,并且它是配置文件。它的工作间隔为1分钟。

有人知道我在这里做错了吗?

0 个答案:

没有答案