Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
828 views
in Technique[技术] by (71.8m points)

parsing - python 2 and 3 extract domain from url

I have an url like: http://xxx.abcdef.com/fdfdf/

And I want to get xxx.abcdef.com

Which module can i use for accomplish this?

I want to use the same module and method at python2 and python3

I don't like the try except way for python2/3 compatibility

Thanks you so much!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Use urlparse:

from urlparse import urlparse
o = urlparse("http://xxx.abcdef.com/fdfdf/")
print o

print o.netloc

In Python 3, you import urlparse like so:

from urllib.parse import urlparse

Alternatively, just use str.split():

url = "http://xxx.abcdef.com/fdfdf/"

print url.split('/')[2]

Sidenote: Here's how you write an import of urlparse that will work in either version:

if sys.version_info >= (3, 0):
    from urllib.parse import urlparse
if sys.version_info < (3, 0) and sys.version_info >= (2, 5):
    from urlparse import urlparse

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...