2017-06-06 9 views
-3

私はFACEBOOKや他のソーシャルメディアのプロフィールURLを抽出してサイトSOUNDCLOUDを探しています。soundcloudソーシャルメディアのプロファイル/ URLの正規表現

URL例: https://soundcloud.com/netztherapie

それはソーシャルメディアのプロファイルをプロファイルへのリンクがあります。 facebookに正規表現を使用すると、それをキャッチしません。私が展開しているよ

a href="https://exit.sc?url=https%3A%2F%2Fwww.facebook.com%2FNetztherapie-641177919313762%2F" target="_blank" rel="me nofollow" class="web-profile sc-link-light sc-social-logo-interactive"> 
    <span class="sc-social-logo sc-social-logo-facebook"></span> 
    Wir auf Facebook! 
</a 

:これらの線に沿って

https://www.facebook.com/Netztherapie/ 

答えて

0

何かが何である

CODE:

私は、このコードのための適切な正規表現がどうなるか疑問に思いますおそらくやりたいと思うでしょう:

regex = "www\.facebook\.com%2F([^-]+)-" 

あなたはおそらくあなたが知っているので、www.facebook.comやhttps://をキャプチャする必要はありません。簡単に名前をつかんで文字列を作ってみてください。ベースURLの後に - 正規表現は、ちょうどすべての非をつかんされ

import re 

regex = "www\.facebook\.com%2F([^-]+)-" 

match = re.search(regex, """a href="https://exit.sc?url=https%3A%2F%2Fwww.facebook.com%2FNetztherapie-641177919313762%2F" target="_blank" rel="me nofollow" class="web-profile sc-link-light sc-social-logo-interactive"> Wir auf Facebook!""") 
if match: 
    print ("yep") 
    thename = match.group(1) 
    print ("https://www.facebook.com/" + thename + "/") 

else: 
    print ("nope") 

:ここでは読みやすい(文字列の連結は、適切なPythonのではないですが)の例です。それは少なくともあなたが正しい方向に向かうべきです。いくつかのテストを実行した後でおそらく正規表現を微調整する必要があります。多分あなたはwwwを望んでいません。たとえば、私は、サウンドクラウドのURLがどれほど均一であるかわからない。