作为开发工具的一部分,我必须仅从URL http://www.flipkart.com
中提取flipkart.com
或flipkart
。
我将代码写为:
filename = dns.name.from_text(url).split(3)[1].to_text(omit_final_dot=True)
我得到的是输出flipkart.com 10
。如何使用Python进行提取?
tld包将帮助您:
from tld import get_tld
from tld.utils import update_tld_names
update_tld_names()
print get_tld("http://www.flipkart.com")
输出
flipkart.com
使用标准库模块urlpase
:
In [72]: from urlparse import urlparse
In [73]: flipkart = urlparse("http://www.flipkart.com/lenovo-a6000/p/itme3763q9phgbpn?q=Lenovo A6000&as=on&as- show=on&otracker=start&as-pos=p_1_lenovo&pid=MOBE3762KWZZYZHZ")
In [74]: flipkart.netloc
Out[74]: 'www.flipkart.com'
In [75]: flipkart
Out[75]: ParseResult(scheme='http', netloc='www.flipkart.com', path='/lenovo-a6000/p/itme3763q9phgbpn', params='', query='q=Lenovo A6000&as=on&as- show=on&otracker=start&as-pos=p_1_lenovo&pid=MOBE3762KWZZYZHZ', fragment='')
这将返回一个由6个组件组成的元组;其对应于URL的一般结构:scheme://netloc/path;parameters?query#fragment