Quiero extraer los nombres de las universidades y sus sitios web de este sitio en listas.
En Python lo hice con 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'])
Realmente me gusta programar en Julia y, dado que es muy similar a Python, quería saber si puedo hacer scraping web también en Julia. Cualquier ayuda sería apreciada.
web-scraping
julia
PseudoCodeNerd
fuente
fuente
Respuestas:
Su código de Python no funciona del todo. Supongo que el sitio web ha sido actualizado recientemente. Desde que han eliminado los enlaces por lo que puedo decir,. Aquí hay un ejemplo similar usando Gumbo.jl y Cascadia.jl .
Estoy usando el
download
comando integrado para descargar la página web. que lo escribe en el disco en un archivo temporal, que luego leí en String. Puede ser más limpio usar HTTP.jl , que podría leerlo directamente en una cadena. Pero para este simple ejemplo está bienSalidas
Parece que aparece MIT dos veces. Probablemente el código de filtrado en mi demo no sea silencioso. Pero: encogimiento de hombros: el MIT es una gran universidad que escucho. Julia fue inventada allí: alegría:
fuente
Si.
Con el fin de raspar la web, Julia tiene tres bibliotecas:
requests
biblioteca de Python ),Vi que eres joven (16) desde tu perfil y tu implementación de Python también es correcta.
Por lo tanto, le sugiero que intente hacer una tarea de raspado web con estas tres bibliotecas para comprender mejor cómo funcionan.
La tarea que desea hacer, desafortunadamente, aún no se puede lograr con Cascadia ya que
h3
está en un<span>
SelectorType implementado actualmente en Cascadia.jlSource
fuente
span
por sí solo funciona bien? Vía selectores de estilo CSS