2013-02-27 34 views
5

tôi đã sử dụng mã python sau đây để tải về trang html:urllib2 python (Transfer-Encoding: chunked)

response = urllib2.urlopen(current_URL) 
msg = response.read() 
print msg 

Đối với một trang như this one, nó sẽ mở ra các url mà không có lỗi nhưng sau đó in chỉ là một phần của trang html!

Trong các dòng sau, bạn có thể tìm thấy tiêu đề http của trang html. Tôi nghĩ rằng vấn đề là do "Chuyển mã hóa: chunked".

Có vẻ như urllib2 chỉ trả về đoạn đầu tiên! Tôi gặp khó khăn khi đọc các phần còn lại. Làm thế nào tôi có thể đọc các phần còn lại?

Server: nginx/1.0.5 
Date: Wed, 27 Feb 2013 14:41:28 GMT 
Content-Type: text/html;charset=UTF-8 
Transfer-Encoding: chunked 
Connection: close 
Set-Cookie: route=c65b16937621878dd49065d7d58047b2; Path=/ 
Set-Cookie: JSESSIONID=EE18E813EE464664EA64086D5AE9A290.tpdjo13v_3; Path=/ 
Pragma: No-cache 
Cache-Control: no-cache,no-store,max-age=0 
Expires: Thu, 01 Jan 1970 00:00:00 GMT 
Vary: Accept-Encoding 
Content-Language: fr 

Trả lời

0

Tôi đã phát hiện ra rằng nếu tôi chấp nhận tiêu đề Ngôn ngữ được chấp nhận hơn máy chủ không thả kết nối TCP, nếu không thì sẽ không có.

curl -H "Accept-Language:uk,en-US;q=0.8,en;q=0.6,ru;q=0.4" -v 'http://www.legifrance.gouv.fr/affichJuriJudi.do?oldAction=rechJuriJudi&idTexte=JURITEXT000024053954&fastReqId=660326373&fastPos=1'