2017-06-06 5 views
-3

Ich bin auf der Suche nach der FACEBOOK oder andere Social-Media-Profile URLs aus der Website SOUNDCLOUD extrahieren.regex für soundcloud social media profile/urls

Beispiel url: https://soundcloud.com/netztherapie

Es ist der Link zu, dass Social-Media-Profil Profile. Wenn Sie reguläre Ausdrücke für Facebook verwenden, fängt es es nicht ein.

Ich frage mich, was für eine angemessene regex für diesen Code wäre:

Code:

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 

Ich bin auf der Suche zu extrahieren:

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

Antwort

0

Etwas in dieser Richtung ist, was Sie Werde wahrscheinlich tun wollen:

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

Sie müssen wahrscheinlich nicht die www.facebook.com oder https: // erfassen, weil Sie das wissen. Einfacher versuchen Sie einfach, den Namen zu nehmen und dann die Zeichenfolge zu machen. Hier ist ein leicht zu lesen (obwohl die String-Verkettung nicht die richtige Python ist) Beispiel:

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") 

Die Regex einfach ist grabbing alle nicht - nach dem Basis-URL. Das sollte dich zumindest in die richtige Richtung lenken. Sie müssen wahrscheinlich die Regex optimieren, nachdem Sie einige Tests ausgeführt haben, vielleicht wollen Sie nicht das www. da bin ich zum beispiel nicht sicher, wie uniform alle soundcloud-URLs wirklich sind.

Verwandte Themen