이 글의 내용은 웹 페이지에 js가 추가한 콘텐츠(코드)를 Python이 크롤링하는 방법에 대한 내용입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
웹페이지를 크롤링할 때 특정 규칙을 사용하여 반환된 HTML 데이터에서 효과적인 정보를 추출합니다. 하지만 웹 페이지에 JavaScript 코드가 포함되어 있는 경우 원본 데이터를 얻으려면 렌더링 처리를 거쳐야 합니다. 이 시점에서 여전히 기존 방법을 사용하여 데이터를 긁어낸다면 아무 것도 얻지 못할 것입니다. 그런데 이 문제는 웹킷(Web Kit)을 통해 쉽게 해결할 수 있습니다. 웹 키트는 브라우저가 할 수 있는 모든 것을 할 수 있습니다. 일부 브라우저의 경우 웹 키트가 기본 웹 페이지 렌더링 도구입니다. 웹 키트는 QT
라이브러리의 일부이므로 QT
및 PyQT4
라이브러리가 설치되어 있으면 직접 실행할 수 있습니다. QT
库的一部分,因此如果你已经安装QT
和PyQT4
库,那么你可以直接运行之。
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,完成安装。
第三步:校验是否安装成功。
首先通过 Web kit 发送请求信息,然后等待网页被完全加载后将其赋值到某个变量中。接下来我们利用lxml
sudo apt
-
Python 설치
-
qt4
#🎜 🎜#Windows:
#🎜🎜#1단계: .whl을 다운로드하고 주소: https: //www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4,여기에서 다양한 Python 버전에 해당하는 패키지를 다운로드할 수 있습니다. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#2단계: 디렉토리를 선택하고, 다운로드한 파일을 디렉토리에 넣은 다음 cmd, cd를 디렉토리에 넣고 다음 명령을 실행합니다: pip install PyQt4 -4.11.4 -cp36-cp36m-win_amd64.whl, 설치를 완료합니다. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#3단계: 설치가 성공했는지 확인합니다. #🎜🎜##🎜🎜######## #🎜🎜#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)
위 내용은 Python이 웹 페이지에서 js에 의해 추가된 콘텐츠를 크롤링하는 방법(코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!