Skip to main content
 首页 » 编程设计

Python 3 urllib 编码

2025年05月04日9落叶

我在 Python 3 中有一段代码可以从网站检索信息:

webpage = urllib.request.urlopen('http://www.bdm.insee.fr/bdm2/index.action') 
webpage = webpage.read() 
webpage = webpage.decode("ISO-8859-1") 
parser = etree.HTMLParser() 
tree = etree.fromstring(webpage,parser) 
for liste in tree.iterfind(".//ul"): 
   print(etree.tostring(liste, pretty_print=True).decode("utf-8")) 

我不明白为什么有些字符编码正确而有些字符编码不正确。这是输出的一部分:

<ul class="liens"><li><a href="http://www.insee.fr/fr/publications-et-services/default.asp?page=rediffusion/rediffusion-abon-bdm.htm">Souscription</a></li> 
</ul> 
<ul id="lienstransversauxbas"><li class="premier" id="navigation-lettre">&#13; 
<a href="http://www.insee.fr/fr/publications-et-services/default.asp?page=abonnements/liste-abonnements.htm" title="Lire la lettre d'information">Lettre d'information</a>&#13; 
</li>&#13; 
<li id="navigation-plan">&#13; 
<a accesskey="3" href="http://www.insee.fr/fr/publications-et-services/services/plan-du-site.asp" title="Plan du site">Plan du site</a>&#13; 
</li>&#13; 
<li id="navigation-boutique">&#13; 
<a href="http://www.webcommerce.insee.fr/index.php" title="Acc&#233;der &#224; la boutique en ligne">Acheter les publications</a>&#13; 
</li>&#13; 
<li id="navigation-credits">&#13; 
<a accesskey="8" href="http://www.insee.fr/fr/publications-et-services/default.asp?page=copyright.htm" title="Copyright Insee">Mentions l&#233;gales et cr&#233;dits</a>&#13; 
</li>&#13; 
</ul> 

那些是什么 ?

谢谢,

迈克尔

请您参考如下方法:

那些是回车。我怀疑 etree 明确包含它们以便保留空白,就像使用   来保留空间一样。不过,这是一个猜测;我在原始来源中没有看到 ,所以我不清楚为什么 etree 不遗余力地保留它。