This time I will show you how to execute ExecJs statements inPython, and what are theprecautionsfor 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
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
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:
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
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!