मैं आर में कुछ वेब स्क्रैप स्क्रिप्ट का परीक्षण कर रहा हूं। मैंने कई ट्यूटोरियल, दस्तावेज़ पढ़े हैं और विभिन्न चीजों की कोशिश की है लेकिन अब तक कोई सफलता नहीं है।आर वेब स्क्रैपर jsessionid
यूआरएल जो मैं स्क्रैप करने की कोशिश कर रहा हूं वह this one है। इसमें सार्वजनिक, सरकारी डेटा और वेब स्क्रैपर्स के खिलाफ कोई बयान नहीं है। यह पुर्तगाली में है, लेकिन मेरा मानना है कि यह एक बड़ी समस्या नहीं होगी।
यह कई क्षेत्रों के साथ एक खोज फ़ॉर्म दिखाता है। मेरा परीक्षण किसी विशेष राज्य ("आरजे" से डेटा की खोज कर रहा था, इस मामले में क्षेत्र "यूएफ" है), और "म्यूनिकिपियो" क्षेत्र में शहर ("रियो डी जेनेरो")। "Pesquisar" (खोज) क्लिक करके, यह निम्न उत्पादन पता चलता है:
Firebug का उपयोग करना, मैं यूआरएल यह कहता है (ऊपर मानकों का प्रयोग करके) है पाया:
http://www.dataescolabrasil.inep.gov.br/dataEscolaBrasil/home.seam?buscaForm=buscaForm&codEntidadeDecorate%3AcodEntidadeInput=&noEntidadeDecorate%3AnoEntidadeInput=&descEnderecoDecorate%3AdescEnderecoInput=&estadoDecorate%3A**estadoSelect=33**&municipioDecorate%3A**municipioSelect=3304557**&bairroDecorate%3AbairroInput=&pesquisar.x=42&pesquisar.y=16&javax.faces.ViewState=j_id10
साइट के रूप में उपयोग करते हुए देखा जा सकता है, एक jsessionid का उपयोग करता है निम्नलिखित:
library(rvest)
library(httr)
url <- GET("http://www.dataescolabrasil.inep.gov.br/dataEscolaBrasil/")
cookies(url)
को जानने का यह एक jsessionid का उपयोग करता है, मैं कुकीज़ (यूआरएल) इस जानकारी की जाँच करने के लिए प्रयोग किया जाता है, और यह एक नया uRL में इस्तेमाल किया इस तरह:
url <- read_html("http://www.dataescolabrasil.inep.gov.br/dataEscolaBrasil/home.seam;jsessionid=008142964577DBEC622E6D0C8AF2F034?buscaForm=buscaForm&codEntidadeDecorate%3AcodEntidadeInput=33108064&noEntidadeDecorate%3AnoEntidadeInput=&descEnderecoDecorate%3AdescEnderecoInput=&estadoDecorate%3AestadoSelect=org.jboss.seam.ui.NoSelectionConverter.noSelectionValue&bairroDecorate%3AbairroInput=&pesquisar.x=65&pesquisar.y=8&javax.faces.ViewState=j_id2")
html_text(url)
ठीक है, आउटपुट में डेटा नहीं है। वास्तव में, इसमें एक त्रुटि संदेश है। अंग्रेजी में अनुवादित, यह मूल रूप से कहता है कि सत्र समाप्त हो गया था।
मुझे लगता है कि यह एक मूल गलती है, लेकिन मैंने चारों ओर देखा और इसे दूर करने का कोई तरीका नहीं मिला।
धन्यवाद बहुत, hrbmstr। यह अच्छी तरह से काम किया! –