2011-02-15 22 views
7

'daki tanımlama bilgilerini nasıl temizlerim İlk tahminlerim, urllib.request.HTTPCookieProcessor(). Cookiejar.clear() işlevini çağırmamdı, ancak çalışmadı. Bir sonraki tahminim belki de alt sınıfa ihtiyacım var ve bunu bir açıcı ile kurmam/kurmam gerekiyor mu? Bunu nasıl yapacağımı bilmiyorum, elbette isterim, ama gerçekten basit bir işlem olması gerektiğini düşündüğüm için çok fazla bir şey gibi görünebilirim.Urllib.request (python3)

cevap

17

Varsayılan olarak, urllib.request hiçbir tanımlama bilgisini saklamıyor, dolayısıyla temizlenecek hiçbir şey yok. İşleyicilerinden biri olarak bir OpenerDirector ve HTTPCookieProcessor örneğini oluşturursanız, bu örneğin cookiejar'u temizlemeniz gerekir. Example from the docs:

import http.cookiejar, urllib.request 
cj = http.cookiejar.CookieJar() 
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)) 
r = opener.open("http://example.com/") 

Eğer cj çerezleri temizlemek istiyorsanız, sadece cj.clear() diyoruz.

boş bir cookiejar olacak yeni HTTPCookieProcessor örneğini oluşturur çalıştı çağrı urllib.request.HTTPCookieProcessor().cookiejar.clear(), temizlemek cookiejar (zaten boş olan) ve oluşturduğunuz herhangi başvurular saklamak olmadığı için, yine her şeyi bırak nesneler - kısacası, hiçbir şey yapmayacaktır.

+0

Mükemmel. Benim problemim html'yi ayrıştırmaktı, onu okumamıştı, ben de düzeltdim, ama yine de bunu gelecek için bilmem gerek. – kryptobs2000