Dieses Mal zeige ich Ihnen, wie Sie ExecJs-Anweisungen in Python ausführen und welche Vorsichtsmaßnahmen für die Ausführung von ExecJs-Anweisungen in Python gelten. Das Folgende ist ein praktischer Fall sehen. .
execjs-Modul
Im täglichen Prozess der Webseitendatenextraktion werden einige nützliche Informationen häufig im JSON-Format im Quellcode der Webseite gespeichert regelmäßig extrahiert, Sie benötigen ein Paket, das js analysieren kann. Es bietet eine einfache und benutzerfreundliche API
Verwenden Sie pip zum Installieren:
pip install PyExecJS
Verwenden Sie easy_install zum Installieren:
easy_install PyExecJS
Verwenden Sie
Hier verwenden wir eine Website-Seite Als Beispiel seine Quelle Es gibt einen solchen Abschnitt im Code
Unser Ziel ist es, die JSON-Daten im Bild zu extrahieren. Der Code lautet wie folgt:
import requestsimport reimport execjsfrom lxml import etree url = ' https:// www.madewell.com/cn/madewell_category/SHIRTSTOPS/topsblouses/PRDOVR~F9375/F9375.jsp'res = requests.get(url) doc = etree.HTML(res.text)#s_text = doc.xpath('//script/text()')#def f(var,text):# if var in text:# return True# return False#data = filter(partial(f,"var data"),s_text)[0]data = ''.join(doc.xpath('//script[contains(text(),"var data")]/text()')) json_raw = re.search('({[\S\s]*\})',data).group(1) jsn = execjs.eval(json_raw) print (jsn)
Das Ausführungsergebnis ist wie folgt:
Erweiterung
Ein simulierter Browser wird verwendet, um einige Daten zu extrahieren. Normalerweise verwenden wir Selen oder Andere Webkit-Pakete, aber das allgemeine Simulationspaket reicht manchmal nicht aus, um eine dynamisch gerenderte Seite zurückzugeben. Sie müssen auch in der Lage sein, js auszuführen und die Interaktion zwischen js und dom zu steuern und w3c-Pakete
Ich glaube, nachdem Sie diese Fälle gelesen haben, beherrschen Sie die Methoden. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Verwandte Lektüre:
Wie man mit js in der Android-Entwicklung interagiert
So erstellen Sie eine TabBar für die untere Navigation auf der Vue-Startseite
Ein Graphit-Dokumentstil, erstellt mit Vue.js 2.0+ Rich Text Editor
Das obige ist der detaillierte Inhalt vonSo führen Sie die ExecJs-Anweisung in Python aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!