urllib2 дает противоречивый вывод - часто загружается часть веб-страницы - PullRequest
3 голосов
/ 03 февраля 2012

Я использую urllib2, чтобы открыть и сохранить веб-страницу. Однако часто загружается только часть веб-страницы, а иногда загружается полная страница.

import urllib2
import time
import numpy as np
from itertools import izip

outFiles = ["outFile1.html", "outFile2.html", "outFile3.html", "outFile4.html"]

urls=["http://www.guardian.co.uk/commentisfree/2011/sep/06/cameron-nhs-bill-parliament?commentpage=all",
"http://www.guardian.co.uk/commentisfree/2011/sep/06/tory-scotland-conservative-murdo-fraser?commentpage=all",
"http://www.guardian.co.uk/commentisfree/2011/sep/06/palestine-statehood-united-nations?commentpage=all",
"http://www.guardian.co.uk/commentisfree/2011/sep/05/in-praise-of-understanding-riots?commentpage=all"]

opener = urllib2.build_opener()
user_agent = 'Mozilla/5.0 (Ubuntu; X11; Linux x86_64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1'
opener.addheaders = [('User-agent', user_agent)]
urllib2.install_opener(opener)

for fileName, url in izip(outFiles,urls):
    response = urllib2.urlopen(url)
    responseBody = response.read()
    fp=open(fileName,'w')
    fp.write(responseBody)
    fp.close()
    time.sleep(np.random.randint(20,40))

В зависимости от серии, outputFile.html имеют разный размер. Иногда файлы имеют размер> 200 КБ до 1 МБ, тогда как в другой раз они составляют около 140 КБ. Что может привести к этой разнице?

Когда файлы меньше, раздел комментариев отсутствует, однако файл никогда не бывает неполным. Иногда вся страница, включая комментарии, также загружается. Я проверил с curl и все еще имел подобную проблему. Что я не понимаю, так это то, что может привести к этому несоответствию.

...