如何在服务器上设置Python网络抓取脚本?

时间:2019-01-11 19:31:01

标签: python amazon-web-services web

我使用请求模块在Python中构建了一个网络抓取工具。它经常读取和写入文本文件。我正在尝试将该脚本放在服务器上,并使其自动将数据发布到我的网站。我的理解是,Web应用程序每次访问都会启动一个新的Python实例,这不是我想要的。我试图运行我的Python脚本的一个实例,然后将数据发布到我的网站上,无论谁在其中。

我调查了Heroku,但我不知道如何独自使用它们的平台。我有一种预感,AWS可以完成类似的事情,但是我不知道怎么做。

这是我要在服务器上运行的脚本类型:

# This is an oversimplification of my web-scraper, but its basically what it does.
import time
import requests

def update_doc(doc_path, doc_text, command):
    doc = open(doc_path, command)
    doc.write(str(doc_text))
    doc.close()

while True:
    r = requests.get(url)
    if new_data in url:
        print('New data found.')  # But instead of printing it updates my site
        update_doc(path, r.text, 'w')
    time.sleep(60)

我没有将整个脚本粘贴到这个问题中,因为我并不真正认为这是相关的。我主要是问我如何将这样的脚本放到我的网站上,并让它更新我网站上的网页而无需点击“ F5”。

我在NameCheap上购买了一个域并可以访问自己的CPanel,但是我不确定这是我应该做的事情的方式。有人可以指出我正确的方向吗?

在此先感谢您的答复。

1 个答案:

答案 0 :(得分:0)

您可以在heroku上运行它,查看他们的工作人员价格,并为您的应用设置一个持久节点,从而不必经常重启。

这是一个很不合理的话题。

https://bigishdata.com/2016/12/15/running-python-background-jobs-with-heroku/

https://www.heroku.com/pricing

或尝试芹菜

https://devcenter.heroku.com/articles/celery-heroku