提取facebook页面网址的最后一部分

时间:2016-06-30 15:14:52

标签: python regex url entity

假设我们有不同的Facebook页面链接。我想在这些链接中提取“实体”。例如:

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

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'

我尝试过很多if-else语句,以便将其降低,但最终它只是意大利面条代码。

有任何帮助吗?

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:1)

@Robᵩs的Python 3版本回答(并重写为函数):

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)

希望这有帮助!

相关问题