2013-06-07 1 views
0

저는 python으로 새롭습니다.Python의 두 URL 형식의 ID를 구문 분석하십시오.

url_format_1 = 'https://www.facebook.com/facebook/posts/10151927580276729' 
# and 
url_format_2 = 'https://www.facebook.com/photo.php?fbid=10151496277356729&set=a.10150629589136729.412063.20531316728&type=1' 

내가 원하는 것은 id를 얻는 것입니다 : 나는 두 개의 서로 다른 URL 형식을 가지고있다. 첫 번째 형식은 물론 10151927580276729이고 두 번째 형식은 10151496277356729입니다.

사용 된 첫 번째 또는 두 번째 형식이 있는지 검색하고 ID를 얻으려고합니다.

답변

0

첫 번째 형식의 경우 split()을 간단하게 사용할 수 있습니다. 두 번째 형식의 경우 일반 표현식을 사용하는 것이 좋습니다.

처리 할 형식을 확인하려면 먼저 정규식을 사용해보십시오. 예외가 발생하면 split()을 사용해보십시오.

import re 

urls = [ 
    'https://www.facebook.com/facebook/posts/10151927580276729', 
    'https://www.facebook.com/photo.php?fbid=10151496277356729&set=a.10150629589136729.412063.20531316728&type=1', 
    ] 

for u in urls: 
    try: 
     print re.search(r'fbid=([0-9]+)', u).group(1) 
    except: 
     print u.split('/')[-1] 

출력 : 귀하의 답변에 대한

10151927580276729 
10151496277356729 
+0

감사합니다. 또한 무작위 URL의 형식을 어떻게 감지 할 수 있습니까? 편집 : 그냥 업데이 트를 보았다. 감사! – Diolor

+0

업데이트를 참조하십시오. – bwind

관련 문제