def escribir_eid(self, cantidad_recuperados): iteraciones = cantidad_recuperados/100 for i in range(iteraciones): print i d = Descarga(self.consultas[0],(i*100)+1) xml = d.obtener_respuesta(d.peticion) print 'ya descargo' d.descargar_xml(xml,'xml'+str(i)) print 'ya escribio' self.escribir_resultado(d.obtener_respuesta(d.peticion), str(i+1))
def descargar_papers(self, query): d = Descarga(query) xml = d.obtener_respuesta(d.peticion) d.descargar_xml(xml, 'busqueda') respuesta = d.obtener_respuesta(d.peticion) tree = ET.parse(respuesta) root = tree.getroot() for child in root: for doi in child.findall( '{http://prismstandard.org/namespaces/basic/2.0/}doi'): print doi.text self.titulos_descargas.append(self.descargar_paper(doi.text))
def descargar_papers(self, query): d = Descarga(query) xml = d.obtener_respuesta(d.peticion) d.descargar_xml(xml, 'busqueda') respuesta = d.obtener_respuesta(d.peticion) tree = ET.parse(respuesta) root = tree.getroot() for child in root: for doi in child.findall('{http://prismstandard.org/namespaces/basic/2.0/}doi'): print doi.text titulo = self.descargar_paper(doi.text) if (titulo != None): self.titulos_descargas.append({'title':titulo})
def descargar_papers(self, query, cantidad_recuperados, user, proyecto): """" Consume el servicio de scopus a partir de la 'query' que se envia, y escribe el xml de respuesta en el directorio compuesto por 'user' y 'proyecto'. Ademas descarga los papers disponibles a partir de los doi que aparezcan en el xml previamente descargados. Por ultimo almacena en los atributos 'eids_descargas' y 'lista_docs' los archivos que fueron descargados. Parametros query : Consulta que se le hace a scopus (string) (ejemplo: Heart) cantidad_recuperados : Cantidad de papers que va a devolver scopus en el xml, solo una pequena porcion de estos seran desgargados. (integer) user : Usuario de vigtech que hace la consuluta (string) proyecto : proyecto de vigtech al que corresponde la consulta (string) """" #Cada xml solo arroja 100 papers, luego si se quieren mas papers hay que descargar varios xml iteraciones = cantidad_recuperados/100 for i in range(iteraciones): d = Descarga(query, i*100) xml = d.obtener_respuesta(d.peticion) d.descargar_xml(xml, REPOSITORY_DIR+'%s.%s/busqueda'%(user,proyecto)+str(i)) respuesta = d.obtener_respuesta(d.peticion) tree = ET.parse(respuesta) root = tree.getroot() for child in root: for doi in child.findall('{http://prismstandard.org/namespaces/basic/2.0/}doi'): print doi.text titulo_eid = self.descargar_paper(doi.text, user, proyecto) eid = titulo_eid[0] #print 'TIT', titulo titulo = titulo_eid[1] #print 'EIDx', eid if (titulo != ''): self.titulos_descargas.append(titulo) self.eids_descargas.append(eid) self.lista_docs.append(titulo + ".pdf")
def descargar_papers(self, query, cantidad_recuperados, user, proyecto): iteraciones = cantidad_recuperados/100 for i in range(iteraciones): d = Descarga(query, i*100) xml = d.obtener_respuesta(d.peticion) d.descargar_xml(xml, REPOSITORY_DIR+'%s.%s/busqueda'%(user,proyecto)+str(i)) respuesta = d.obtener_respuesta(d.peticion) tree = ET.parse(respuesta) root = tree.getroot() for child in root: for doi in child.findall('{http://prismstandard.org/namespaces/basic/2.0/}doi'): print doi.text titulo_eid = self.descargar_paper(doi.text, user, proyecto) eid = titulo_eid[0] #print 'TIT', titulo titulo = titulo_eid[1] #print 'EIDx', eid if (titulo != ''): self.titulos_descargas.append(titulo) self.eids_descargas.append(eid) self.lista_docs.append(titulo + ".pdf")