Info surinkimas iš "giliojo" interneto 1 dalis
Šios video pamokos metu skaitysime iš "giliojo" interneto. Paviršinis internetas, kuriame karaliauja paieškos varikliai (Google, Bing ir kiti), sudaro tik maždaug 4% viso interneto turinio. 90% norimo turinio guli būtent "giliajame", į ką fokusuota ši pamoka. Rinksime filmų komentarus iš Linkomanijos
Santrauka
Turinys
Tai yra tęsinys Duomenų surinkimas iš Web Puslapio taigi pradėkite nuo ten.
Trumpa teorija
Internetas susideda iš trijų dalių:
Paviršinio (Surface), apie 4% viso interneto turinio. Prie jo gali lengvai prieiti visi, čia karaliauja paieškos varikliai (Google, Bing ir kiti)
Giliojo (Deep), apie 90% viso interneto turinio. Priėjimas čia yra apribotas - reikia vartotojo, pakvietimo, arba IP adresai yra blokuojami. Paieškos varikliai čia nepatenka, nebent su retomis išimtimis, taigi šios informacijos neina
Išgooglinti
.Tamsiojo (Dark), apie 6% viso interneto turinio. Tamsieji kampeliai, dažniausiai pilni nelegalaus turinnio.
Mus domina Gilusis internetas
Rinkdami informaciją iš paviršinio interneto, mes tam tikra prasme konkuruojame su Google. Jie seniausiai turi, išanalizavo ir tikriausiai panaudojo informaciją, prie kurios bandote prieiti. Vienintelis būdas gauti pranašumo - rinkti informaciją iš ten, kur priėjimas yra ribotas.
Kaip vyksta prisijungimas
Dvi esminės komandos yra GET
- gauti informacijai, ir POST
- perduoti informacijai (Yra dar PUT
, PATCH
, DELETE
- bet šie metodai mums dabar neįdomūs).
Iki šiol naudojom tik GET
, nes norėjom gauti infromaciją. Logiška, ane?
Na, tai norint gauti informaciją iš giliojo interneto, mums pirma reikia kažką duoti.
Tas kažkas
dažniausiai yra prisijungimo informacija. Su POST
metodu mes perduodame savo prisijungimus:
import requests
requests.post("https://puslapio_adresas/login", data={"username": "???", "password": "???"})
Jeigu informacija teisinga, dažniausiai atgal mes gauname sausainėlį
su kodu. Turint šį kodą su savimi, su GET
metodu mes jau galime gauti norimą informaciją.
Tačiau kaip tą sausainėlį išsaugot ir po to panaudoji?..
Sesijos
requests
biblioteka turi būdą laikyti atmintį, kas dažniausiai yra sausainėliai
.
from requests import Session
session = Session()
Šią atmintį yra įprasta vadinti sesija. Smagu tai, kad naudojimas visiškai nepasikeičia, tiesiog vietoj requests.get(...)
, darome session.get(...)
.
Toliau procesas vyksta identiškai, kaip praeitoje pamokoje (Nuorodą galite rasti aprašymo viršuje)