2016-06-30 24 views
0

假设我们有不同的Facebook页面链接。我想提取这些链接中的'实体'。例如:提取Facebook页面的最后部分url

http://www.facebook.com/pages/Blue-Mountain-Aromatics/561694213861926 我想提取'蓝山芳烃'。

http://www.facebook.com/1905BocaJuniors我想提取'1905BocaJuniors'。

https://www.facebook.com/7upGuatemala?ref=br_tf我想提取 '7upGuatemala'

http://www.fb.com/supligenjm我想提取 'supligenjm'

http://www.facebook.com/axebolivia?sk=wall&filter=1我想提取 'axebolivia'

我已经尝试了许多如 - 其他语句为了减少它,但在一天结束时它只是意大利面代码。

任何帮助?

+1

你可以发布一些你已经创建的代码吗? – mikeyq6

回答

1
try: 
    from urlparse import urlparse 
except ImportError: 
    from urllib.parse import urlparse 

links = [ 
    'http://www.facebook.com/pages/Blue-Mountain-Aromatics/561694213861926', 
    'http://www.facebook.com/1905BocaJuniors', 
    'https://www.facebook.com/7upGuatemala?ref=br_tf', 
    'http://www.fb.com/supligenjm', 
    'http://www.facebook.com/axebolivia?sk=wall&filter=1', 
] 


for url in links: 
    url = urlparse(url) 
    path = url.path.split('/') 
    entity = path[2] if path[1] == 'pages' else path[1] 
    print(entity) 
+0

完美!非常感谢! –

1

Python的3.0版本的@Robᵩs答案(并重新写入funtion):

from urllib.parse import urlparse 

links = [ 
    'http://www.facebook.com/pages/Blue-Mountain-Aromatics/561694213861926', 
    'http://www.facebook.com/1905BocaJuniors', 
    'https://www.facebook.com/7upGuatemala?ref=br_tf', 
    'http://www.fb.com/supligenjm', 
    'http://www.facebook.com/axebolivia?sk=wall&filter=1', 
] 

def fb_extract(url): 
    url = urlparse(url) 
    path = url.path.split('/') 
    entity = path[2] if path[1] == 'pages' else path[1] 
    return entity 

for url in links: 
    fb_extract(url) 

希望这有助于!