>웹 프론트엔드 >JS 튜토리얼 >Python에서 ExecJs 문을 실행하는 방법

Python에서 ExecJs 문을 실행하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-03-07 10:10:324728검색

이번에는 Python에서 ExecJs 문을 실행하는 방법과 Python에서 ExecJs 문을 실행할 때 주의사항이 무엇인지 보여드리겠습니다. 다음은 실제 사례입니다.

execjs 모듈

일상적인 웹 페이지 데이터 추출 과정에서 일부 유용한 정보가 웹 페이지의 소스 코드에 json 형식으로 저장되는 경우가 많습니다. 이때 이러한 데이터를 정기적으로 추출하려면 다음을 수행할 수 있는 패키지가 필요합니다. Parse js 예, execjs는 간단하고 사용하기 쉬운 API를 제공합니다

Installation

pip를 사용하여 설치:

pip install PyExecJS

easy_install을 사용하여 설치:

easy_install PyExecJS

사용

웹 사이트 페이지 예를 들어, 소스 코드에 이러한 섹션이 있습니다

Python에서 ExecJs 문을 실행하는 방법

우리의 목표는 그림에서 json 데이터를 추출하는 것입니다. 코드는 다음과 같습니다.

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)

실행 결과는 다음과 같습니다.

Python에서 ExecJs 문을 실행하는 방법

Extension

일부 데이터에서는 시뮬레이션된 브라우저가 추출에 사용됩니다. 일반적으로 우리는 Selenium이나 다른 웹킷 패키지를 사용하지만, 일반 시뮬레이션 패키지는 렌더링된 페이지만 반환하는 것만으로는 충분하지 않습니다. . 또한 js를 실행하고 js와 dom 사이의 상호 작용을 제어할 수 있어야 합니다. 관심 있는 학생들은 PyV8 및 w3c 패키지를 살펴보세요.

이 사례를 읽은 후 방법을 마스터했다고 생각합니다. PHP 중국어 웹사이트의 다른 관련 기사도 주목해 보세요!

관련 읽기:

Android 개발에서 js와 ​​상호 작용하는 방법

JS Modularization-RequireJS

vue 홈페이지에서 하단 탐색 TabBar를 만드는 방법

One with Vue. js 2.0+

로 만든 Graphite 문서 스타일 리치 텍스트 편집기

위 내용은 Python에서 ExecJs 문을 실행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.