使用非英语URL刮擦波斯网站

问题描述 投票:0回答:2

[作为新手,也许这是一个愚蠢的问题,所以谢谢您的时间和精力来回答。当我想抓取波斯网站时,添加了以下代码:

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-无法导入'scrapy'2-无法导入'urlparse'3-模块'urllib'没有qoute成员

我的代码出什么问题了?非常感谢您的帮助

python url scrapy
2个回答
0
投票

通过您没有的错误消息,请转到各自的站点并查看如何安装。

1 Note for urlparse change现在被命名为urllib.parse而不是urlparse

2 Scrapy


0
投票
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)

此代码在python 3. *环境中运行,因为urlparse库已被urllib.parse取代

© www.soinside.com 2019 - 2024. All rights reserved.