我是新来的网络应用程序,所以我不太习惯担心CPU的限制,但我看起来我会有这个代码的问题。我在谷歌的配额页面阅读,我可以使用6.5 CPU每小时15个CPU,分钟每分钟。如何让此代码在Google应用引擎上顺利运行?
谷歌表示:
CPU时间被报告在“秒”,这等效于 可以由1.2 GHz的英特尔x86处理器中的时间量来执行的CPU周期的数目。实际使用的CPU周期数 根据App Engine内部条件 的变化很大,因此为了报告目的而使用此处理器作为参考 度量值来调整此数字。
而且
Per Day Max RateCPU Time 6.5 CPU-hours 15 CPU-minutes/minute
什么我想知道:
是这个脚本会超过这个限制?
(如果是的话)我怎样才能使它不超过极限?
我使用urllib库,我应该使用Google的URL抓取API吗?为什么?
绝对任何其他有用的评论。
做些什么:
它刮掉(爬)项目免费电视。我将只完全运行一次,然后用更短的脚本替换它。
from urllib import urlopen
import re
alphaUrl = 'http://www.free-tv-video-online.me/movies/'
alphaPage = urlopen(alphaUrl).read()
patFinderAlpha = re.compile('<td width="97%" nowrap="true" class="mnlcategorylist"><a href="(.*)">')
findPatAlpha = re.findall(patFinderAlpha,alphaPage)
listIteratorAlpha = []
listIteratorAlpha[:] = range(len(findPatAlpha))
for ai in listIteratorAlpha:
betaUrl = 'http://www.free-tv-video-online.me/movies/' + findPatAlpha[ai] + '/'
betaPage = urlopen(betaUrl).read()
patFinderBeta = re.compile('<td width="97%" class="mnlcategorylist"><a href="(.*)">')
findPatBeta = re.findall(patFinderBeta,betaPage)
listIteratorBeta = []
listIteratorBeta[:] = range(len(findPatBeta))
for bi in listIteratorBeta:
gammaUrl = betaUrl + findPatBeta[bi]
gammaPage = urlopen(gammaUrl).read()
patFinderGamma = re.compile('<a href="(.*)" target="_blank" class="mnllinklist">')
findPatGamma = re.findall(patFinderGamma,gammaPage)
patFinderGamma2 = re.compile('<meta name="keywords"content="(.*)">')
findPatGamma2 = re.findall(patFinderGamma2,gammaPage)
listIteratorGamma = []
listIteratorGamma[:] = range(len(findPatGamma))
for gi in listIteratorGamma:
deltaUrl = findPatGamma[gi]
deltaPage = urlopen(deltaUrl).read()
patFinderDelta = re.compile("<iframe id='hmovie' .* src='(.*)' .*></iframe>")
findPatDelta = re.findall(patFinderDelta,deltaPage)
PutData(findPatGamma2[gi], findPatAlpha[ai], findPatDelt)
如果我什么都忘了,请告诉我。
更新:
这是有多少次他们会逃跑,为什么在这种情况下,在回答这个问题有帮助。
per cycle total
Alpha: 1 1
Beta: 16 16
Gamma: ~250 ~4000
Delta: ~6 ~24000
@Jon用正则表达式解析HTML在Stack Overflow中是一个罪过。 – systempuntoout 2011-04-19 08:22:28
这些不是“限制”,它们是你免费获得的。如果你想运行任何使用重要CPU的东西,你将不得不为你的应用程序支付,与其他主机一样。 – geoffspear 2011-04-19 11:26:56
@systempuntoout糟糕,应该怎么做? – 2011-04-19 14:12:28