web-dev-qa-db-fra.com

Comment faire du web scraping dans Julia?

Je veux extraire les noms des universités et de leurs sites Web de ce site dans des listes.

Dans Python je l'ai fait avec BeautifulSoup v4:

import requests
from bs4 import BeautifulSoup
import pandas as pd

page = requests.get('https://thebestschools.org/features/best-computer-science-programs-in-the-world/')
content = BeautifulSoup(page.text, 'html.parser')

college_name = []
college_link = []
college_name_list = content.find_all('h3',class_='college')
for college in college_name_list:
    if college.find('a'):
        college_name.append(college.find('a').text)
        college_link.append(college.find('a')['href'])

J'aime beaucoup la programmation en Julia et comme c'est très similaire à Python, je voulais savoir si je pouvais aussi faire du web scraping en Julia. Toute aide serait appréciée.

9
PseudoCodeNerd

Oui.

Aux fins du web-scraping, Julia dispose de trois bibliothèques:

  • HTTP.jl to télécharger le code source du frontend du site Web (ceci est comparable à la bibliothèque requests de python ),
  • Gumbo.jl pour analyser le code source téléchargé en un objet structuré hiérarchique,
  • et Cascadia.jl pour enfin gratter en utilisant une API de sélecteur CSS.

J'ai vu que vous êtes jeune (16) de votre profil et votre implémentation python est également correcte.

Par conséquent, je vous suggère de essayer de faire une tâche de web-scraping avec ces trois bibliothèques pour mieux comprendre comment elles fonctionnent.

La tâche que vous souhaitez faire, malheureusement, ne peut pas encore être accomplie avec Cascadia depuis le h3 est dans un <span> qui n'est actuellement pas un SelectorType implémenté dans Cascadia.jl
Source

4
PseudoCodeNerd