Maison  >  Article  >  développement back-end  >  Comment Python explore le contenu ajouté par js dans les pages Web (code)

Comment Python explore le contenu ajouté par js dans les pages Web (code)

不言
不言avant
2018-09-28 14:14:578214parcourir

Le contenu de cet article explique comment Python explore le contenu (code) ajouté par js dans la page Web. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Lorsque nous explorons une page Web, nous utiliserons certaines règles pour extraire des informations efficaces à partir des données HTML renvoyées. Mais si la page Web contient du code JavaScript, nous devons passer par un traitement de rendu pour obtenir les données d'origine. À ce stade, si nous continuons à utiliser des méthodes conventionnelles pour extraire des données, nous n’obtiendrons rien. Eh bien, ce problème peut être facilement résolu grâce au kit Web. Les kits Web peuvent faire tout ce qu'un navigateur peut faire. Pour certains navigateurs, Web Kit est l'outil de rendu de page Web sous-jacent. Le kit Web fait partie de la bibliothèque QT, donc si les bibliothèques QT et PyQT4 sont installées, vous pouvez l'exécuter directement.

1. Préparation de l'environnement

Linux : sudo apt-get install python-qt4

Windows :

Étape 1 : Téléchargez .whl, adresse : https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4, Ici vous pouvez télécharger des packages correspondant aux différentes versions de python.

Comment Python explore le contenu ajouté par js dans les pages Web (code)

Étape 2 : Sélectionnez un répertoire, mettez le fichier téléchargé dans le répertoire, puis cmd et cd dans le répertoire, exécutez la commande : pip install PyQt4- 4.11.4- cp36-cp36m-win_amd64.whl, terminez l'installation.

Comment Python explore le contenu ajouté par js dans les pages Web (code)

Étape 3 : Vérifiez si l'installation est réussie.

Comment Python explore le contenu ajouté par js dans les pages Web (code)

Comment Python explore le contenu ajouté par js dans les pages Web (code)

2. Solution

Envoyez d'abord les informations de la demande via le kit Web, puis attendez la page Web. pour qu'il soit complètement chargé. Attribuez-le à une variable. Ensuite, nous utilisons lxml pour extraire des informations efficaces à partir de données HTML. Ce processus prend un certain temps.

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)

Ensuite, le travail suivant consiste à analyser le code HTML, ce qui ne sera pas expliqué ici.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer