Python Django模型-如何在数据库中保存函数的结果
我的django网页有点速度问题。 我正在制作一个网站,挑选亚马逊文章的价格。我的问题是,我使用lxml对html数据进行爬网,每次重新加载页面时,该函数都会重复,加载一个包含6篇文章的页面需要15秒。这是我的职责:Python Django模型-如何在数据库中保存函数的结果,python,django,database,function,django-models,Python,Django,Database,Function,Django Models,我的django网页有点速度问题。 我正在制作一个网站,挑选亚马逊文章的价格。我的问题是,我使用lxml对html数据进行爬网,每次重新加载页面时,该函数都会重复,加载一个包含6篇文章的页面需要15秒。这是我的职责: def price(self): if self.amazon_url: url = self.amazon_url source_code = requests.get(url) code = html.fromstring
def price(self):
if self.amazon_url:
url = self.amazon_url
source_code = requests.get(url)
code = html.fromstring(source_code.text)
prices = code.xpath('//span[@id="priceblock_ourprice"]/text()')
eur = prices[0].replace("EUR ", "")
nospace = eur.replace(" ", "")
nodown = nospace.replace("\n", "")
end = nodown.replace(",", ".")
return float(end)
else:
return 0
好的,现在,这个函数在django模型中位于我的类中,我认为这也是导致页面加载如此缓慢的原因。问题是:一旦我对价格进行了爬网,我是否可以将其存储在我的sql数据库中,这样我就不必每次重新加载页面时都使用此函数?
我计划在我的数据库中添加mode产品,因此我只想对每个产品使用此功能一次,然后将价格存储在我的数据库中。
希望你能帮助我,我对python不太在行,所以请试着用简单的话解释一下谢谢经过多次测试后,我决定使用AmazonProductAPI,它似乎工作得很好在您的模型上放置一个价格字段并保存爬网的价格,您还可以添加一个DateTime字段来存储保存价格的时间。你可以一天只爬网一次左右的价格。问题是我不知道怎么做