Comment appeler la fonction JavaScript en utilisant BeautifulSoup et Python


PKJ

J'effectue une mise au rebut Web pour récupérer des données d'un site Web dans le cadre de mon projet. Je peux faire la demande et récupérer les données présentes dans le dom. Cependant, certaines données sont rendues sur la fonction javascript onClick.

Une façon pourrait être d'utiliser le sélénium pour cliquer sur le lien (qui appelle la fonction javascript) et récupérer les données rendues, mais ce processus prend du temps et je ne veux pas ouvrir le navigateur.

Existe-t-il un autre moyen que le sélénium pour y parvenir?

Site Web: http://catalog.fullerton.edu/preview_entity.php?catoid=16&ent_oid=1849

Dans la section cours de cette page Web, tous les cours sont des hyperliens, et dès que quelqu'un clique sur les cours, une méthode javascript est appelée. J'ai besoin des données qui sont rendues après l'appel de la fonction javascript.

Mixeur

Vous ne pouvez pas. Si vous souhaitez exécuter JavaScript, vous devrez utiliser un navigateur sans tête. Sinon, vous devrez démonter le JavaScript et voir ce qu'il fait.

Cliquez sur l'élément pendant que les outils de développement de votre navigateur sont ouverts dans l'onglet Réseau:

entrez la description de l'image ici

Vous pouvez maintenant voir que le JavaScript télécharge le nouveau code HTML à partir de cette URL. Vous pouvez facilement envoyer la même demande avec urllib.

Articles connexes


Appeler la fonction Javascript en utilisant PHP

Adrian est-il possible d'appeler cette fonction pour imprimer un document en utilisant PHP? Voici mon code les gars. <html> <head> <script language="javascript"> function Clickheretoprint() { var disp_setting="toolbar=yes,location=no,directories=ye

Comment appeler une fonction php en utilisant ajax et case

SABITH J'ai deux fichiers php, l'un est index.php et l'autre est phpscriptname.php. j'ai besoin d'appeler des fonctions differet en utilisant la méthode ajax et case. J'ai trouvé une solution sur un site Web que je donne ci-dessous, mais cela ne fonctionne pas