2013-03-21 3 views
0

urllib2로 html 소스를 다운로드하거나 mechanize (.read()를 사용)하고 싶습니다. 불행히도 내가 갖고 싶어하는 원천은 꽤 큽니다. 나는 65747 문자까지 길이의 문자열을 얻는다 (두 라이브러리 모두 사용). 나머지 꼬리는 고려되지 않습니다. 이것은 정말로 나를 괴롭 히며, 나는이 문제를 다루는 방법을 모른다. 누군가 나에게 힌트를 줄 수 있습니까?urllib2/mechanize로 html 소스로드하기

편집 : 여기 제가 사용하는 코드 스 니펫이 있습니다. 더 나은

b = '' 
while 1: 
    r = f.read() 
    if r == '':break 
    b += r 

작동 :

cj = cookielib.LWPCookieJar() 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 

dataHTML = "" 
fp = opener.open(url) 

while 1: 
    r = fp.read() 
    if r == '': 
     break 
    dataHTML += r 
+0

다음은 전체 솔루션입니다. http://stackoverflow.com/questions/1824069/urllib2-not-retrieving-entire-http-response –

+0

urlretrieve() 또는 readlines()를 사용하는 유일한 솔루션 (테스트하지는 않았습니다)) 정말 만족스럽지 않습니다. 다른 모든 솔루션은 적어도 작동하지 않습니다. – SpaceMonkey

+0

이 솔루션이 효과적입니다. 필자는 파이썬 인터프리터 라인에서 실행했다. http://stackoverflow.com/a/4268012/399704 –

답변

0

당신은 시간의 몇 가지) (읽기 호출 할 수 있습니까?

+0

아직 작동하지 않습니다. 위 코드를 추가했습니다. 내 build_opener() 명령을 사용합니까? 또한 나는 urllib2를 사용한다는 것을 인정해야하지만 이것은 당신의 솔루션에 영향을 미치지 않아야한다. – SpaceMonkey