Почему я получаю сообщение об ошибке, которое выполняется для других в rust reqwest?

Я пытаюсь создать веб-скребок через ржавчину, используя библиотеку reqwest. Запрос = "0.11.10" скребок = "0.12.0"

Я видел пример здесь: https://kadekillary.work/post/webscraping-rust/ Я пытался сделать то же самое, но я получаю сообщение об ошибке.

Мой код: `

    extern crate reqwest;
    extern crate scraper;

use scraper::{Html,Selector};

fn main() {
    println!("WELCOME!");
    scrape_the_news("https://www.examplewebsite.com");
}

fn scrape_the_news(url: &str) {
    let mut urlsource = reqwest::get(url).unwrap();
    assert!(resp.status().is_success());

}

`

Я получаю сообщение об ошибке, ошибка: не найден метод с именем unwrap для непрозрачного типа impl Future<Output = Result<Response, reqwest::Error>> в текущей области

Спасибо

Прошу прощения за всю ошибку в вопросе. я новичок в stackoverflow.

itsme kali321 22.03.2022 15:22

Попробуйте reqwest::blocking::get вместо reqwest::get

Jmb 22.03.2022 15:27

@jmb спасибо, это сработало. Но я не знаю, почему это сработало для других, но не для меня.

itsme kali321 22.03.2022 15:43

В примере, вероятно, используется старая версия reqwest, до того, как был доступен асинхронный API.

Cerberus 22.03.2022 15:54
Веб-скраппинг с помощью PHP: Пошаговое руководство
Веб-скраппинг с помощью PHP: Пошаговое руководство
Веб-скрейпинг становится все более популярным и сегодня является одной из актуальных тем в IT-сообществе. В результате несколько библиотек помогают...
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Веб-скрейпинг, как мы все знаем, это дисциплина, которая развивается с течением времени. Появляются все более сложные средства борьбы с ботами, а...
Скраппинг поиска Apple App Store с помощью Python
Скраппинг поиска Apple App Store с помощью Python
📌Примечание: В этой статье я покажу вам, как скрапировать поиск Apple App Store и получить точно такой же результат, как на Apple iMac, потому что...
1
4
48
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пример, который вы используете, устарел.

  • reqwest::get теперь является асинхронной функцией: она сразу же возвращает «будущее» результата без блокировки. Если вы хотите получить фактический результат, вам нужно подождать, пока он будет доступен, используя .await в будущем.

  • с выпуском 2018 или более поздней версии вам больше не нужно использовать объявления extern crate

Я предлагаю вам получить примеры из официального проекта: https://github.com/seanmonstar/reqwest/blob/master/examples/simple.rs

Другие вопросы по теме