为了账号安全,请及时绑定邮箱和手机立即绑定

有办法让输出的url还是显示中文吗

比如这样子的,http://baike.baidu.com/item/%E9%A6%99%E6%B8%AF%E5%A4%A7%E5%AD%A6/233635

实际上是,https://baike.baidu.com/item/香港大学/23363
5

正在回答

5 回答

那个不是单引号,是反引号,就是esc下面的第一个键子,英文模式下输入,防止库名、表名、字段名和mysql保留字冲突才使用的^_^...

qxxlrfmpxcjnzrmeocdlojtulwipwdyfapklfrkchdudxsvcbybdowiccwqonestoejzkbtpoxcvhapjpgfyhwylwumnaslhgxjpsxkbgkfssilhsgruhdjgwbznggbcavlinvlsvfzzwbsvtbpqegitwtqtsp

0 回复 有任何疑惑可以回复我~

quote()可以将汉字转换为urlencode,unquote对urlencode进行解码。具体例子如下:

import urllib.parse  

str = "哈哈你好"

print(urllib.parse.quote(str))  

print(urllib.parse.unquote(urllib.parse.quote(str)))


0 回复 有任何疑惑可以回复我~
#1

葬酒为安

结果如下: %E5%93%88%E5%93%88%E4%BD%A0%E5%A5%BD 哈哈你好
2019-03-03 回复 有任何疑惑可以回复我~
def _get_new_urls(self, page_url, soup):
    new_urls = set()
    #<a target="_blank" href="/item/%E9%98%BF%E5%A7%86%E6%96%AF%E7%89%B9%E4%B8%B9/2259975" data-lemmaid="2259975">阿姆斯特丹</a>
    #https: // baike.baidu.com / item / 阿姆斯特丹 / 2259975
    links = soup.find_all('a',href=re.compile(r"/item/(.+?)"))
    for link in links:
        new_url = '/item/'+link.get_text()
        new_full_url = urlparse.urljoin(page_url,new_url)
        new_urls.add(new_full_url)
    return new_urls


0 回复 有任何疑惑可以回复我~
#1

赵崇辉

我是这样写的,你看下能不能行
2019-01-12 回复 有任何疑惑可以回复我~

这种的在拼接之前是不是就应该将其转换成中文

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Python开发简单爬虫
  • 参与学习       227727    人
  • 解答问题       1218    个

本教程带您解开python爬虫这门神奇技术的面纱

进入课程

有办法让输出的url还是显示中文吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信