web-dev-qa-db-ja.com

JuliaでWebスクレイピングを行うにはどうすればよいですか?

大学とそのウェブサイトの名前を this site からリストに抽出したい。

Python私は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'])

Juliaでのプログラミングは本当に好きです。Pythonと非常によく似ているので、JuliaでもWebスクレイピングを実行できるかどうかを知りたいと思っていました。任意の助けいただければ幸いです。

9
PseudoCodeNerd

はい。

Juliaには、ウェブスクレイピングの目的で3つのライブラリがあります。

  • HTTP.jl to download ウェブサイトのフロントエンドソースコード(これはpythonのrequestsライブラリに相当します)、
  • Gumbo.jl to parse ダウンロードしたソースコードを階層構造のオブジェクトに、
  • および Cascadia.jl CSSセレクターAPIを使用して最終的に scrape を実行します。

あなたはあなたのプロファイルから若い(16)で、あなたのpython実装も正しいことがわかりました。

したがって、これら3つのライブラリを使用してWebスクレイピングタスクを実行してみてくださいそれらがどのように機能するかを理解するために。

残念ながら、Cascadiaではh3<span>に含まれているため、実行するタスクをまだ実行できません。
ソース

4
PseudoCodeNerd