Ich versuche, einen Link von einem Skript-Tag auf einer Website zu extrahieren. zur Zeit meine regex gibt den ganzen Block aus irgendeinem Grund ..Regex gibt keine spezifische Übereinstimmung zurück
Dies ist der Inhalt des Script-Tag ich den Link zu wollen:
<script type="text/javascript">
var key = '';
var url = 'http://stream1.song365.me/h1/20160129/1772422101/The%20Beatles%20-%20There%27s%20a%20Place%20%28Studio%20Outtake%20Takes%205%20%26%206%29_(song365.cc).mp3';
var hqurl = 'http://stream1.song365.me/h1/20160129/1772422101/The%20Beatles%20-%20There%27s%20a%20Place%20%28Studio%20Outtake%20Takes%205%20%26%206%29_(song365.cc).mp3';
$(document).ready(function(){
$("div[rel='digg']").click(function(){
var method = $(this).attr("method");
var v = parseInt($(this).find('em').html());
var p = this;
$.post("/track/digg/2788951/" + method, function(data){
if(data.status==0)
{
alert("today you have been digg it!")
}
else
{
$(p).find('em').html(data.number);
}
}, "JSON")
})
if(url.length!=0)
{
$("#download-link").attr("href", url + "?key=" + key).css("display","");;
}
if(hqurl.length!=0)
{
$("#download-link-hq").attr("href", hqurl + "?key=" + key).css("display","");
}
});
</script>
der Code Dies ist Ich habe zur Zeit:
request = requests.get(dummy_link)
data = request.text
soup = BeautifulSoup(data, 'html.parser')
link = soup.findAll(text=re.compile('var hqurl.*?mp3'))
Es gibt die gesamte Skript-Tag, aber ich möchte nur die Verknüpfung zu der hqurl
Variable zugewiesen.
Aktuelle Code mit Hilfe von @alecxe:
request = requests.get('https://www.song365mp3.biz/download/the-beatles-there039s-a-place-studio-outtake-takes-5-amp-6-2788951.html')
data = request.text
soup = BeautifulSoup(data, 'html.parser')
pattern = re.compile("var hqurl = '(.*?mp3)';$", re.MULTILINE | re.DOTALL)
link = soup.find("script", text=pattern)
print(pattern.search(link.text).group(1))
Aber wirft Fehler:
print((link.text).group(1))
AttributeError: 'ResultSet' object has no attribute 'text'
Wenn Sie eine Anfrage tun und dann Parsen der Code, den Sie geliefert haben, sind nicht die Inhalte, die Sie über den Link erhalten möchten. Wenn Sie einen Teil der geparsten HTML mit dem Link, den Sie benötigen, bereitstellen könnten, wären wir in der Lage zu helfen – DNKROZ
@DNKROZ Ich habe es behoben, aber der Link spielt keine Rolle, wie es immer ändern wird. – rhillhouse
Leider habe ich nicht bemerkt, dass der Code, den du gepostet hast, der Ort war, von dem du den Link extrahieren wolltest. Ich dachte, es wäre eine andere Antwort - hinzugefügt eine Antwort, die sein sollte, was Sie benötigen – DNKROZ