이 글의 내용은 웹 페이지에 js가 추가한 콘텐츠(코드)를 Python이 크롤링하는 방법에 대한 내용입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
웹페이지를 크롤링할 때 특정 규칙을 사용하여 반환된 HTML 데이터에서 효과적인 정보를 추출합니다. 하지만 웹 페이지에 JavaScript 코드가 포함되어 있는 경우 원본 데이터를 얻으려면 렌더링 처리를 거쳐야 합니다. 이 시점에서 여전히 기존 방법을 사용하여 데이터를 긁어낸다면 아무 것도 얻지 못할 것입니다. 그런데 이 문제는 웹킷(Web Kit)을 통해 쉽게 해결할 수 있습니다. 웹 키트는 브라우저가 할 수 있는 모든 것을 할 수 있습니다. 일부 브라우저의 경우 웹 키트가 기본 웹 페이지 렌더링 도구입니다. 웹 키트는 QT
라이브러리의 일부이므로 QT
및 PyQT4
라이브러리가 설치되어 있으면 직접 실행할 수 있습니다. QT
库的一部分,因此如果你已经安装QT
和PyQT4
库,那么你可以直接运行之。
1、环境准备
Linux:sudo apt
-
get install python
-
qt4
Windows:
第一步:下载.whl,地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4,这里可以下载不同的python版本对应的包。
第二步:选择一个目录,将下载好的文件放到该目录下,然后cmd下,cd进入该目录,执行命令:pip install PyQt4-4.11.4-cp36-cp36m-win_amd64.whl,完成安装。
第三步:校验是否安装成功。
2、解决方案
首先通过 Web kit 发送请求信息,然后等待网页被完全加载后将其赋值到某个变量中。接下来我们利用lxml
1. 환경 준비
Linux:sudo apt
-
Python 설치
-
qt4
#🎜 🎜#Windows:
#🎜🎜#1단계: .whl을 다운로드하고 주소: https: //www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4,여기에서 다양한 Python 버전에 해당하는 패키지를 다운로드할 수 있습니다. #🎜🎜##🎜🎜#



2. Solution
#🎜🎜#먼저 웹킷을 통해 요청 정보를 보낸 후, 완전히 로드될 웹페이지를 변수에 할당합니다. 다음으로lxml
을 사용하여 HTML 데이터에서 유효한 정보를 추출합니다. 이 과정은 시간이 걸립니다. #🎜🎜#import sys from PyQt4.QtWebKit import * from PyQt4.QtGui import * from PyQt4.QtCore import * class Render(QWebPage): # 用来渲染网页,将url中的所有信息加载下来并存到一个新的框架中 def __init__(self,url): self.app = QApplication(sys.argv) QWebPage.__init__(self) self.loadFinished.connect(self._loadFinished) self.mainFrame().load(QUrl(url)) self.app.exec_() def _loadFinished(self, result): self.frame = self.mainFrame() self.app.quit() url = 'http://jandan.net/ooxx' r = Render(url) html = r.frame.toHtml() print(html)#🎜🎜# 그럼 다음 작업은 HTML 코드를 파싱하는 작업인데 여기서는 설명하지 않겠습니다. #🎜🎜#
위 내용은 Python이 웹 페이지에서 js에 의해 추가된 콘텐츠를 크롤링하는 방법(코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 같은 작업에 적합합니다.

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

경치 좋은 스팟 댓글 분석에서 Jieba Word 세분화 문제를 해결하는 방법은 무엇입니까? 경치가 좋은 스팟 댓글 및 분석을 수행 할 때 종종 Jieba Word 세분화 도구를 사용하여 텍스트를 처리합니다 ...

정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까? HTML 또는 기타 마크 업 언어를 다룰 때는 정규 표현식이 종종 필요합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Dreamweaver Mac版
시각적 웹 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
