Python 我想将我的文本抓取程序部署到Heroku,但它使用的文件存储在我的电脑上
我创建了一个文本抓取程序,用户在其中输入一个单词,它在我的计算机上搜索一个大的文本文件(250MG,并且还在增长),但现在我想通过Heroku部署它 是否有我需要实施的变通方法,或者是否有(相当难以捉摸的)方法来实现这一点?据我所知,没有办法将我的文本文件按原样上传到Heroku。以下是我的建议Python 我想将我的文本抓取程序部署到Heroku,但它使用的文件存储在我的电脑上,python,django,heroku,Python,Django,Heroku,我创建了一个文本抓取程序,用户在其中输入一个单词,它在我的计算机上搜索一个大的文本文件(250MG,并且还在增长),但现在我想通过Heroku部署它 是否有我需要实施的变通方法,或者是否有(相当难以捉摸的)方法来实现这一点?据我所知,没有办法将我的文本文件按原样上传到Heroku。以下是我的建议 只要文本文件不包含任何机密信息,就可以像这样在网站上托管文本文件。这允许您在每次添加应用程序时自由更新应用程序,而无需重新部署应用程序 一旦您上传/粘贴文本到“粘贴”并保存,您将能够获得“原始”链接,该
requests
从应用程序中获取文件,并根据需要对其进行解析
import requests
resp = requests.get("https://pastebin.com/raw/LjcPg3UL")
# if all entries are on individual lines
mywords = [word for word in resp.iter_lines()]
# if comma-separated or otherwise
#mywords = resp.text.split(",")
由于您希望通过更大的文件来实现这一点,因此可以将文件托管在dropbox上,并按照中的说明获取原始链接。但是,如果处理这么大的文件,您会注意到大量开销。如果文件有那么大,我建议使用
请求
流
参数(),这样请求行就变大了
resp = requests.get("https://www.dropbox.com/s/FILE_ID/filename.extension?raw=1", stream=True)
这将读取文件的块,而不是一次读取整个文件,这将有助于减少内存消耗。Pastebin对每个文件的限制为500 KB,如果我使用pro帐户,则限制为10 MB。我正在搜索的文件可能会增长到1 GB。你知道我还可以利用其他资源来完成这项任务吗?