python - 为什么 .split 无法按预期执行?

标签 python split delimiter

我希望这会很快。

我正在尝试从给定 URL 获取二级域名

这是我的代码:

    url = url.split(".", 1)[1]
    url = url.split('//', 1)[-1]
    url = url.split("/", 0)[0]

问题出在最后一行,由于某种原因它似乎没有做任何事情。

如果我给它提供 url = "http://www.nba.com/sports "

我返回“nba.com/sports”

我正在尝试获取“nba.com”

最佳答案

正确的解决方案:不要重新发明轮子,使用the existing libraries尽可能多地:

from urllib.parse import urlsplit
# On Py2, from urlparse import urlsplit

url = "http://www.nba.com/sports"
domain = urlsplit(url).hostname
# split off the last two components, then join them back together to make
# the second level domain
secondlevel = '.'.join(domain.rsplit('.', 2)[-2:])
print(secondlevel)

这可以让您访问nba.com

关于python - 为什么 .split 无法按预期执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47213641/

相关文章:

python - 如何计算2个目录路径之间的相对路径?

python - 当表无法返回值时,如何抓取表? (美汤)

r - R核心的 `split`函数背后的算法是什么?

使用正则表达式的 Java 数组洞

ruby - 在 Ruby 中为 .split 方法使用多个分隔符

python - 如何从模式中获取文本并将其插入电子邮件正文?

python - django admin中内联模型的分页器

javascript - 通过 RegEx Javascript 按 2 个字符串分隔符分割

Android - 如何在横向模式下在操作栏中设置超过 2 个项目

java - 如何使用分隔符排除括号?