Я новичок в веб-приложениях, поэтому я не очень привык беспокоиться об ограничениях процессора, но, похоже, у меня возникнут проблемы с этим кодом. Я прочитал на странице квот Google, что я могу использовать 6,5 ЦП в день, 15 ЦП, минут в минуту.
Google сказал:
Время ЦП указывается в «секундах», что эквивалентно количеству циклов ЦП, которые
может выполняться процессором Intel x86 с тактовой частотой 1,2 ГГц за это время. Настоящий
количество затрачиваемых циклов ЦП сильно зависит от внутренних условий App Engine,
так что это число корректируется для целей отчетности, используя этот процессор в качестве ссылки
измерение.
И
Per Day Max Rate
CPU Time 6.5 CPU-hours 15 CPU-minutes/minute
Что я хочу знать:
Этот сценарий выходит за пределы?
(если да) Как я могу сделать так, чтобы он не превышал лимит?
Я использую библиотеку urllib. Должен ли я использовать Google Fetch 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