<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[python3中的urlopen对于中文url的处理]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[Python学习]]></category>
<pubDate>Thu, 22 Jun 2017 06:24:07 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	urllib.request.urlopen('http://www.sina.com.cn'),如果url中有中文怎么办，Python3不是默认采用utf-8编码的吗？但是还是出现了如下错误<br/><div class="code"><br/>UnicodeEncodeError: &#039;ascii&#039; codec can&#039;t encode characters in position 78-89: ordinal not in range(128)<br/></div><br/>主要是由于url中带有中文导致的。<br/><br/>刚刚看了urllib.parse.quote()的定义，完全可以直接处理中英混排的url，无需单独处理中文再拼接。具体方法：<br/><div class="code"><br/># -*- coding:utf-8 -*-<br/><br/>from urllib.parse import quote<br/><br/>url = &#039;http://www.example.com/api.php?text=中文在这里&#039;<br/></div><br/># 不带附加参数<br/><div class="code"><br/>print(&#039;&#92;n不带附加参数：&#92;n%s&#039; % quote(url))<br/></div><br/># 附带不转换字符参数<br/><div class="code"><br/>print(&#039;&#92;n附加不转换字符参数：&#92;n%s&#039; % quote(url, safe=&#039;/:?=&#039;))<br/></div><br/>运行结果：不带附加参数：<br/><div class="code"><br/>http%3A//www.example.com/api.php%3Ftext%3D%E4%B8%AD%E6%96%87%E5%9C%A8%E8%BF%99%E9%87%8C<br/></div><br/>附加不转换字符参数：<br/><div class="code"><br/>http://www.example.com/api.php?text=%E4%B8%AD%E6%96%87%E5%9C%A8%E8%BF%99%E9%87%8C<br/></div><br/>quote可用的参数如下：<br/><div class="code"><br/>quote(string, safe=&#039;/&#039;, encoding=None, errors=None)<br/></div><br/>其中的safe参数可用的范围：<br/><div class="code"><br/>reserved = &quot;;&quot; &#124; &quot;/&quot; &#124; &quot;?&quot; &#124; &quot;:&quot; &#124; &quot;@&quot; &#124; &quot;&amp;&quot; &#124; &quot;=&quot; &#124; &quot;+&quot; &#124; &quot;$&quot; &#124; &quot;,&quot;<br/></div><br/>这样对于爬取来的混合中文的url可以直接处理了。
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] python3中的urlopen对于中文url的处理]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>