我需要帮助将非ascii url编码/解码为适当的形式,以提供urlopen()
方法。我的代码,用于从页面抓取url(非ascii url)并转到下一页:
from urllib.request import urlopen
from bs4 import BeautifulSoup
Enterance url从chrome浏览器粘贴的副本:
^{pr2}$但我有个错误:
'ascii' codec can't encode characters in position 5-9: ordinal not in range(128)
当我检查“UnicodeEncodeError”时,我看到了以下通知:
----> 8 html = urlopen(url)
如您所知,在第一个循环中,urlopen()方法可以与“entrance url”一起使用,因为它的形式是:
https://www.sheypoor.com/%DA%A9%D9%85%D8%AF-%D9%86%D9%88%D8%AC%D9%88%D8%A7%D9%86-34926671.html
但是当从BeautifulSoup对象中刮取的url_obj
的形式是
https://www.sheypoor.com/سرویس-تخت-کمد-نوجوان-44887762.html
替换为旧的url,并且此表单不适合馈送到urlopen()方法:
我试图找到将我的url_对象转换为正确的url形式(如entrance url)的解决方案,但我失败了!:-(
我将非常高兴你的支持和指导解决这个问题。在
目前没有回答
相关问题 更多 >
编程相关推荐