본문 바로가기

Rust61

[Rust] MySQL 연결 및 Data 적재 (62일차) (1) 아래 글을 참조하여 root 사용자 말고, 새로운 사용자를 만들어 권한을 주자. https://printscanf.tistory.com/entry/Error-MySQL-Access-denied-for-user-useridlocalhost (2) 해당 Rust 파일 디렉토리에 mysql 의존성을 추가 $ cargo add mysql (3) 테이블 생성 및 Data 적재 예시 use mysql::prelude::*; use mysql::*; fn main() -> Result { // Set up a new database connection let url = "mysql://id:pswd@localhost:3306/moto"; let pool = Pool::new(url)?; // Create a .. 2023. 3. 26.
[Rust] fn main() -> Result<(), Box<dyn std::error::Error>> { } 가 무엇인가? (61일차) fn main() -> Result { } >> 보통 fn main() { } 만 쓰는데, 위와 같은 구문이 있었다. Result, error 등은 무엇일까? * -> 는 main() 에 대한 return value 를 의미한다. * Result 형식은 성공을 지칭하는 OK(()) 혹은 Box 2023. 3. 6.
[Rust] Scraping : Naver 메인 페이지 예제 (60일차) # Cargo.toml # ... 중략 [dependencies] reqwest = { version = "0.11.14", features = ["blocking"] } scraper = "0.14.0" // src\main.rs use reqwest::blocking::Client; use scraper::{Html, Selector}; fn main() -> Result { // Create an HTTP client let client = Client::new(); // Make a GET request to the homepage of www.naver.com let res = client.get("https://www.naver.com").send()?; // Extract the HTML r.. 2023. 2. 20.
[Rust] Scraping 예제 (59일차) // cargo add select use select::document::Document; use select::predicate::Name; fn main() { let html = "Hello, world!"; let document = Document::from(html); let h1 = document.find(Name("h1")).next().unwrap(); println!("{}", h1.text()); } // cargo add scraper use scraper::{Html, Selector}; fn main() { let html = "Hello, World!"; let document = Html::parse_document(html); let selector = Selector:.. 2023. 2. 19.