2017-05-09 1 views
0

Ich habe ein Projekt, und ich brauche das Skript in HTML-Code abrufen.Python Scrapy Get HTML <script> Tag

 <script> 
     (function() { 
     .../More Code 
     Level.grade = "2"; 

     Level.level = "1"; 

     Level.max_line = "5"; 

     Level.cozum = 'adım 12\ndön sağ\nadım 13\ndön sol\nadım 11'; 
.../More Code 
</script> 

Wie ich nur bekommen "adım 12 \ ndon sağ \ Nadim 13 \ ndon sol \ Nadim 11" diesen Code?

Dank für hilft

+1

könnte in der Lage sein, diese – budge

Antwort

0

Verwendung Regex, dass der Inhalt dieses SCRIPT-Tag wie

response.css("script").extract_first() 

Zuerst greifen zu tun und dann diese regex Demo

(Level\.cozum =)(.*?)(\;) 

nachschauen hier https://regex101.com/r/YxHRmR/1

Dies ist Code

import re 
regex = r"(Level\.cozum =)(.*?)(\;)" 

test_str = ("<script>\n" 
    "  (function() {\n" 
    "  .../More Code\n" 
    "  Level.grade = \"2\";\n\n" 
    "  Level.level = \"1\";\n\n" 
    "  Level.max_line = \"5\";\n\n" 
    "  Level.cozum = 'adım 12\\ndön sağ\\nadım 13\\ndön sol\\nadım 11'; \n" 
    ".../More Code\n" 
    "</script>") 

matches = re.findall(regex, test_str, re.MULTILINE) 

print(matches) 
+0

mit beautifulsoup HTML-Parser zu tun In Bezug auf Ihre regex, warum nicht nur 'Ebene \ .cozum = '(*.?)';'? OP will eindeutig nur den Wert der Variablen, also warum 3 Capture Groups? – Granitosaurus