Heim  >  Artikel  >  Web-Frontend  >  So führen Sie die ExecJs-Anweisung in Python aus

So führen Sie die ExecJs-Anweisung in Python aus

php中世界最好的语言
php中世界最好的语言Original
2018-03-07 10:10:324672Durchsuche

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

Installation

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

So führen Sie die ExecJs-Anweisung in Python aus

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:

So führen Sie die ExecJs-Anweisung in Python aus

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

JS-Modularisierung-RequireJS

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn