Home  >  Article  >  Web Front-end  >  How to execute ExecJs statement in Python

How to execute ExecJs statement in Python

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

This time I will show you how to execute ExecJs statements in Python, and what are the precautions for executing ExecJs statements in Python. The following is a practical case, let’s take a look. .

execjs module

In the daily process of web page data extraction, some useful information is often stored in the source code of the web page in json format. At this time, these data must be extracted regularly, You need a package that can parse js. execjs provides a simple and easy-to-use api

Installation

Use pip to install:

pip install PyExecJS

Use easy_install to install:

easy_install PyExecJS

Use

Here we use a website page as an example, its source There is such a section in the code

How to execute ExecJs statement in Python

Our goal is to extract the json data in the picture. The code is as follows:

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)

The execution result is as follows:

How to execute ExecJs statement in Python

Extension

A simulation browser is used to extract some data. Usually we use selenium or other webkit packages, but the general simulation package only returns rendering Sometimes it is not enough to just return the dynamically rendered page. You also need to be able to execute js and control the interaction between js and dom. Interested students can take a look at PyV8 and w3c packages

I believe you have read it You have mastered the methods in these cases. For more exciting information, please pay attention to other related articles on the PHP Chinese website!

Related reading:

How to interact with js in Android development

JS modularization-RequireJS

How to make a bottom navigation TabBar on the vue homepage

A graphite document style made with Vue.js 2.0+ Rich text editor

The above is the detailed content of How to execute ExecJs statement in Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn