AplikaceAplikace
Nastavení

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
manualy:api [2022/12/22 15:21] – [Použití] michalkrenmanualy:api [2024/12/12 12:10] (aktuální) – [1) curl a Treq API] zimandl
Řádek 20: Řádek 20:
 Popisy API jednotlivých aplikací: Popisy API jednotlivých aplikací:
   * [[https://github.com/czcorpus/kontext/wiki/HTTP-API|KonText]]   * [[https://github.com/czcorpus/kontext/wiki/HTTP-API|KonText]]
-  * [[https://wiki.korpus.cz/doku.php/manualy:treq:api|Treq]]+  * [[manualy:treq:api|Treq]]
 </WRAP> </WRAP>
  
 Každé API běží na vlastní adrese: Každé API běží na vlastní adrese:
-  * KonText: https://korpus.cz/kontext-api/v0.17 +  * KonText: ''https://korpus.cz/kontext-api/v0.17'' 
-  * Treq: https://treq.korpus.cz/api/v1+  * Treq: ''https://korpus.cz/treq/api/v1''
  
 <WRAP round important 60%> <WRAP round important 60%>
Řádek 43: Řádek 43:
 curl --cookie cookies.txt --cookie-jar cookies.txt -X POST -F 'personal_access_token=0a1b2c3d4e5f6-abc012...' 'https://korpus.cz/login' curl --cookie cookies.txt --cookie-jar cookies.txt -X POST -F 'personal_access_token=0a1b2c3d4e5f6-abc012...' 'https://korpus.cz/login'
 # Query Treq # Query Treq
-curl --cookie cookies.txt --cookie-jar cookies.txt 'https://treq.korpus.cz/api/v1?from=cs&to=en&multiword=false&regex=true&lemma=true&ci=true&pkgs[0]=SYNDICATE&pkgs[1]=CORE&query=pravda&order=perc&asc=false'+curl --cookie cookies.txt --cookie-jar cookies.txt 'https://korpus.cz/treq/api/v1?from=cs&to=en&multiword=false&regex=true&lemma=true&ci=true&pkgs[0]=SYNDICATE&pkgs[1]=CORE&query=pravda&order=perc&asc=false'
 </code> </code>
  
Řádek 57: Řádek 57:
 with requests.Session() as s: with requests.Session() as s:
     # Load cookies     # Load cookies
-    try+    try:
         with open(cookies_file, 'rb') as f:         with open(cookies_file, 'rb') as f:
             s.cookies.update(pickle.load(f))             s.cookies.update(pickle.load(f))
Řádek 115: Řádek 115:
     with open(cookies_file, 'wb') as f:     with open(cookies_file, 'wb') as f:
         pickle.dump(s.cookies, f)         pickle.dump(s.cookies, f)
 +</code>
 +
 +==== 3) R a KonText API ====
 +
 +<code r>
 +library(httr)
 +
 +# Log in
 +personal_access_token = '0a1b2c3d4e5f6-abc012...'
 +r <- POST("https://korpus.cz/login", body=list(personal_access_token=personal_access_token))
 +
 +# Creating a concordance query
 +request_body <- '{
 + "type": "concQueryArgs",
 + "structs": ["text", "s"],
 + "refs": ["%3Dtext.txtype", "%3Ddoc.author"],
 + "queries": [
 + {
 + "qtype": "advanced",
 + "corpname":"syn2020",
 + "query": "[word=\\\"celou\\\"] [lemma=\\\"pravda\\\"]"
 + }
 + ]
 +}'
 +
 +r <- POST("https://korpus.cz/kontext-api/v0.17/query_submit?format=json", content_type_json(), body=request_body)
 +
 +# Displaying a concordance
 +response_json <- content(r)
 +conc_persistence_op_id <- response_json$conc_persistence_op_id
 +params <- list(
 + format="json",
 + q=paste0("~", conc_persistence_op_id),
 + refs="=text.txtype",
 + refs="=doc.author",
 + pagesize=100
 +)
 +r <- GET("https://korpus.cz/kontext-api/v0.17/view", query=params)
 +content(r)
 </code> </code>