Stránka 1 z 1

Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 2. 4. 2019 16:33
od Luka35
Dobrý den, funkci request mohu použít pouze s rozhraním api, například zde: https://api.github.com/user, nebo můžu použít požadavek na zápis na klasickou stránku jako http://www.google.com s tímto kódem...?
(Po vyhledání "Hello World" na googlu by se měl vypsat zdrojový kód výsledků vyhledání)

Kód: Vybrat vše
import requests
Data = {
"q": "Hello world",       
}
page = request.post ("https://www.google.com/", data = Data)
print (page.text)


#q je name input class googlu,
Hello world je je text, který chci vyhledat.
Díky

Re: Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 2. 4. 2019 16:40
od Wikan
S tímhle kódem asi ne. Vyhledávání je GET a nikoliv POST request.

Re: Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 2. 4. 2019 16:41
od Luka35
Kód: Vybrat vše
import requests
Data = {
"q": "Hello world",
}
page = request.get("https://www.google.com/", response = Data)
print (page.text)


No nějaký kód se mi vypisuje, ale, když to udělám manuálně- napíšu do googlu "Hello world", vyhledám a otevřu zdrojový kód, vypadá úplně jinak, než ten pomocí requestu. Jak to?

Re: Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 2. 4. 2019 16:48
od Wikan
Kód: Vybrat vše
import requests
page = requests.get("https://www.google.com/?q=Hello%20world")
print (page.text)

Re: Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 2. 4. 2019 17:02
od Luka35
To ano, chtěl bych to ale udělat, tak jak jsem psal. Šlo by to ale vůbec?
Konkrétně mi jde o to, že často se řetězec - v tomto případě Hello World nezobrazuje v url.
Díky

Mám na mysli jiné stránky než google, kde se například zobrazí dále jen search, nikoli informace o hledaném slovu.

Re: Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 2. 4. 2019 17:09
od Wikan
Nechápu, proč když se ptáš na jiné stránky, tak máš v dotazu Google :roll: Není nad to, ptát se na něco jiného, než chceš vědět.
Na těch jiných stránkách zase použij POST.

Re: Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 2. 4. 2019 17:23
od Luka35
Dobře, řekněme tedy, že na této stránce budu chtít najít výraz "maturity".
Zde je právě ten problém, že při vyhledávání se slovo nezaznamená do url...
Šlo by to tedy takto?

Kód: Vybrat vše
import requests
import time
Data = {
    "text": "maturity"
    }
page = requests.get("https://www.sspbrno.cz/search.php", params=Data)
print(page.text)

Re: Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 3. 4. 2019 20:20
od Luka35
Nevíte někdo?

Re: Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 3. 4. 2019 20:22
od Wikan
Psal jsem, že máš použít POST.

Re: Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 3. 4. 2019 20:31
od Luka35
I tak se mi vypisuje jiný kód

Kód: Vybrat vše
import requests
import time
Data = {
    "text": "maturity"
    }
page = requests.post("https://www.sspbrno.cz/search.php", data=Data)
print(page.text)


Takto, mohu vůbec udělat tu věc kterou popisuji pomocí requestu?

Re: Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 4. 4. 2019 06:48
od Wikan
Ono ti to vypisuje jiný text hlavně proto, že ten formulářový prvek se jmenuje "rstext" a ne jenom "text".

Re: Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 4. 4. 2019 09:47
od JirkaVejrazka
mohu vůbec udělat tu věc kterou popisuji pomocí requestu?


Ano, muzes. Musis ale poslat uplne presne stejne parametry, jako posle stranka. Neco uz ti napsal Wikan. Ja jenom pridam, ze je uplne klidne mozne, ze si stranka bude kontrolovat pritomnost vsech parametru. Ty posilas jeden, stranka nekolik.

Re: Vyhlkedávání s request - Python

Odeslat příspěvekNapsal: 4. 4. 2019 16:00
od Luka35
Ano, díky. Už to jede.