Я пытаюсь создать веб-скребок через ржавчину, используя библиотеку 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>>
в текущей области
Спасибо
Попробуйте reqwest::blocking::get
вместо reqwest::get
@jmb спасибо, это сработало. Но я не знаю, почему это сработало для других, но не для меня.
В примере, вероятно, используется старая версия reqwest
, до того, как был доступен асинхронный API.
Пример, который вы используете, устарел.
reqwest::get
теперь является асинхронной функцией: она сразу же возвращает «будущее» результата без блокировки. Если вы хотите получить фактический результат, вам нужно подождать, пока он будет доступен, используя .await
в будущем.
с выпуском 2018 или более поздней версии вам больше не нужно использовать объявления extern crate
Я предлагаю вам получить примеры из официального проекта: https://github.com/seanmonstar/reqwest/blob/master/examples/simple.rs
Прошу прощения за всю ошибку в вопросе. я новичок в stackoverflow.