首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么用非英语URL刮波斯语网站会产生错误?

为什么用非英语URL刮波斯语网站会产生错误?
EN

Stack Overflow用户
提问于 2020-05-16 15:22:00
回答 3查看 118关注 0票数 0

我试图用以下代码刮一个波斯语网站:

代码语言:javascript
复制
import urlparse, urllib
parts = urlparse.urlsplit(u'http://fa.wikipedia.org/wiki/صفحهٔ_اصلی')
parts = parts._replace(path=urllib.quote(parts.path.encode('utf8')))
encoded_url = parts.geturl().encode('ascii')
'https://fa.wikipedia.org/wiki/%D8%B5%D9%81%D8%AD%D9%87%D9%94_%D8%A7%D8%B5%D9%84%DB%8C'

当我运行我的爬虫时,我会在提示符中得到这个错误消息:

ModuleNotFoundError:没有名为urlparse的模块

在VS代码中有三个划线词。当我单击它们时,会显示以下错误消息:

  1. 无法进口“刮伤”
  2. 无法导入“urlparse”
  3. 模块'urllib‘没有引号成员

我的密码怎么了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-05-16 15:37:08

代码语言:javascript
复制
import urllib.parse
parts = urllib.parse.urlsplit(u'http://fa.wikipedia.org/wiki/صفحهٔ_اصلی')
parts = parts._replace(path=urllib.parse.quote(parts.path.encode('utf8')))
encoded_url = parts.geturl().encode('ascii')
'https://fa.wikipedia.org/wiki/%D8%B5%D9%81%D8%AD%D9%87%D9%94_%D8%A7%D8%B5%D9%84%DB%8C'

print(encoded_url)

这段代码在python3.*环境中运行,因为urlparse库被urllib.parse所取代。

票数 0
EN

Stack Overflow用户

发布于 2020-05-16 15:36:56

根据错误消息,您没有它们,转到它们各自的站点并查看如何安装。

1 关于urlparse更改的注意事项它现在被命名为urllib.parse而不是urlparse

2个刮痕

票数 0
EN

Stack Overflow用户

发布于 2022-05-05 15:25:36

您应该只使用这个:

FEED_EXPORT_ENCODING='UTF-8'

在settings.py文件中。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61839081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档