Tasker Para hablar de todo lo relacionado con la aplicación tasker

Respuesta
 
Herramientas
  #1  
Viejo 22/08/15, 07:12:22
Array

[xs_avatar]
Rbcheca Rbcheca no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: Madrid
Mensajes: 159
Modelo de smartphone: Nexus 5
Tu operador: Movistar
Extraer datos despues de hacer HTTP get

Hola, continuando este hilo: http://www.htcmania.com/showthread.php?t=1057026, he decidido abrir un nuevo tema para centrarme en la extracción de los datos que me devuelve un HTTP get.

He conseguido aislar lo que me interesa, que es una url, pero el primer problema que se me presenta es que es una cantidad de datos enorme, y como a mi lo que me interesa es sacar los datos de las últimas 24h, por ejemplo, la primera separación de variable va a ser todo lo que esté antes de la fecha de ayer, el problema es que la fecha en el documento esta en el formato: Fri, 14 Aug 2015, y aqui ya me quedo un poco en blanco, El feed al que le hago el http get solo tiene datos de la última semana, por lo que creo que sería buena idea separar la variable a partir del dia de la semana de ayer, pero el texto está en formato mon, tue, wed etc y aquí ya me pierdo del todo.

La otra opción es la de por día del mes pero tenemos el mismo problema, el formato 14 Aug.

En las pruebas que he hecho, metiendo la fecha manualmente en el separador, he conseguido aislar la url como he dicho, otra duda que me asalta es si puedo buscar por palabras claves la información que está dentro de la variable.

Por favor, solo decirme si voy bien encaminado o si el planteamiento está totalmente errado, y si me podeis dar alguna pista para continuar.

Muuuchas gracias!!!

Última edición por Rbcheca Día 28/08/15 a las 10:47:51.
Responder Con Cita


  #2  
Viejo 22/08/15, 11:21:46
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
Yo diría que vas por buen camino si estás sacando algo de los que necesitas, ¿no?

Tendrás que estudiar detenidamente ese feed. Ver si tiene bloques identificables. El orden de esos bloques. Una estructura típica del enlace que buscas. Todo eso ayuda.
Responder Con Cita
  #3  
Viejo 22/08/15, 14:20:12
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
Estoy tonto. Es un feed, claro que tiene estructuras identificables

Tendrá una pequeña cabecera con los datos de la web que origina el feed y luego bloques <item></item> con todos los datos de cada una de las series publicadas. Cada uno de esos bloques tendrá un <title></title> que seguramente tendrá el nombre de la serie y un <link></link> que llevará a su correspondiente página en la que tendrás los enlaces a los torrent. Seguro que tiene más cosas, pero creo que eso es todo lo que necesitas.

Los bloques <item> los puedes sacar con una expresion regular de este tipo...

<item>(.|\s)*?</item>

... en la acción "Buscar y reemplazar". En "Variable" pones "%HTTPD" (contiene el resultado de HTTP Get). Quita las marcas de "Multilínea" y de "Una sola coincidencia". Y en "Almacenar coincidencia en" pones el nombre de una variable local, por ejemplo "%items".

Con eso tienes un array de tasker (%items1, %items2 ... &itemsXX) con todos los <item> del feed. Si haces un bucle que recorra ese array creo que podrás buscar los nombres de serie/peli que te interesan con una simple búsqueda con comodines (*<title>*nombre serie*</title>*). El bucle sería algo así...

For %item en %items() << así haces referencia al array completo

Si encuentras en un %item uno de los nombres que te interesa te sales del bucle y sigues con el proceso.

Ahora toca sacar la URL de la página, que también se puede hace con una expresión regular, pero esta vez (gracias mlesir) es un poco diferente...

(?<=<link>).*?(?=</link>)

En variable pones "%item" y en almacenar resultado pones "%url". Y con eso ya puedes ir a la página de la serie a buscar tus codiciados enlaces .torrent

¿Hasta aquí todo está claro?
Responder Con Cita
  #4  
Viejo 22/08/15, 14:37:27
Array

[xs_avatar]
Rbcheca Rbcheca no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: Madrid
Mensajes: 159
Modelo de smartphone: Nexus 5
Tu operador: Movistar
Está muy claro, muy bien explicado, a ver si soy capaz de llevarlo a cabo, madre mia cuanto sabeis, eso no lo saco yo solo ni en un millon de años.

Me queda la duda de como hacer para que no se repitan resultados de una busqueda a otra, es decir si ma da el resultado que busco "A" y me lo notifica, como hago para que si a la siguiente vez sigue ahi "A" lo omita y no lo tenga en cuenta como resultado valido.

Me pongo a ello enseguida, que pinta muy bien
Responder Con Cita
  #5  
Viejo 22/08/15, 14:47:22
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
Podrías guardar en un archivo de texto el contenido de <pubDate> de cada <item> que te ha interesado seguir. Cuando proceses el feed por segunda vez tendrás que verificar que una coincidencia de nombre de serie no ha sido procesada antes comprobando que su <pubDate> no está en ese archivo de texto.
Responder Con Cita
  #6  
Viejo 22/08/15, 14:54:56
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
He visto una posible causa de error

Al buscar el título de la serie quita las etiquetas. Tal y como está no funcionará porque entre esas etiquetas existen retornos de carro. Lo deberías dejar como ... *nombre serie*
Responder Con Cita
  #7  
Viejo 22/08/15, 19:16:00
Array

[xs_avatar]
Rbcheca Rbcheca no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: Madrid
Mensajes: 159
Modelo de smartphone: Nexus 5
Tu operador: Movistar
Bueno, me ha surgido un primer problema que viene por mi total desconocimiento de los elementos nuevos que me has enseñado, antes de nada aclarar que cuando pregunto algo así, es por que ya le he dado mil vueltas a los tutos y a google y no he sacado nada en claro, entiendo que el tiempo de los demás es tan importante como el mio.

Al hacer http get no se me guardan los datos en %HTTPD, por lo que he hecho un leer archivo (el que me ha creado http get) y guardar en la variable %HTPD, y el siguiente paso ok.

Hasta el punto de sacar los bloques de <item> todo claro y funcionando, me ha dejado flipado lo de (.|\s)*?", que me gustaría entender que es, pero he buscado y no he encontrado nada

Luego con lo de "El bucle sería algo así... For %item en %items() << así haces referencia al array completo" entiendo que es lo que en tasker está en "tarea-for" y que entre los parentesis de "%items()" tengoo que poner los terminos que quiero buscar.

Ahí me asalta una duda, ¿tengo que poner el nombre de la serie completo, o vale con unas palabras clave) por ejemplo, ¿tengo que poner "perico el de los palotes hdtv 720p" o puedo buscar por "perico palotes 720p"?

En la siguiente parte, la de "Si encuentras en un %item uno de los nombres que te interesa te sales del bucle y sigues con el proceso." ahi @WillyWeb, lo siento mucho si que no he entendido nada.

Tampoco tengo claro si he hecho la tarea como tu me has dicho:

1.HTTP Get
servidor: "puerto"el feed" "tipo mime: txt/xml" "archivo de salida: archivo.html"

2.leer archivo: archivo.html a %HTPD

3. buscar y reemplazar: variable %HTPD buscar <item>(.|\s)*?</item> "almacenar coincidencias en %items
Luego hago un flash con %items2 y compruebo que me devuelve un resultado correcto de todo el contenido de un "<item></item>"

A partir de ahi me hago la picha un lio y no se por donde seguir, al poner el For %item en %items(), suponiendo que como he dicho está bien, me sale la flechita y ya no se si el buscar y reemplazar va dentro o no.

Cuanto trabajo te estoy dando Willy, si me mandas a freir esparragos lo entenderé perfectamente.

Última edición por Rbcheca Día 22/08/15 a las 19:23:57.
Responder Con Cita
  #8  
Viejo 22/08/15, 20:19:26
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
 Cita: Originalmente Escrito por Rbcheca Ver Mensaje
Bueno, me ha surgido un primer problema que viene por mi total desconocimiento de los elementos nuevos que me has enseñado, antes de nada aclarar que cuando pregunto algo así, es por que ya le he dado mil vueltas a los tutos y a google y no he sacado nada en claro, entiendo que el tiempo de los demás es tan importante como el mio.
Hombre, eso lo daba por supuesto

 Cita: Originalmente Escrito por Rbcheca Ver Mensaje
Al hacer http get no se me guardan los datos en %HTTPD, por lo que he hecho un leer archivo (el que me ha creado http get) y guardar en la variable %HTPD, y el siguiente paso ok.
Eso no debería pasar. El comportamiento por defecto de "HTTP Get" es guardar el resultado en la variable global %HTTPD ... ¿seguro que has escrito bien el nombre de la variable?

Y por cierto, si no necesitas conservar un valor para algo es mejor usar variables locales (nombre en completamente en minúsculas). Son más rápidas y no malgastas recursos.

 Cita: Originalmente Escrito por Rbcheca Ver Mensaje
Hasta el punto de sacar los bloques de <item> todo claro y funcionando, me ha dejado flipado lo de (.|\s)*?", que me gustaría entender que es, pero he buscado y no he encontrado nada
Es una expresión regular que traducido al lenguaje humano dice algo así como ... cualquier carácter o código de nueva línea repetido cualquier número de veces. Eso es justo lo que tienes entre las etiquetas <item> e </item>.

 Cita: Originalmente Escrito por Rbcheca Ver Mensaje
Luego con lo de "El bucle sería algo así... For %item en %items() << así haces referencia al array completo" entiendo que es lo que en tasker está en "tarea-for" y que entre los parentesis de "%items()" tengoo que poner los terminos que quiero buscar.
La acción que inicia un bucle está en "Tareas > For". En el campo "Variable" tienes que poner el "%item" que te he comentado antes y en el campo "Ítems" pones lo de "%items()". Con eso le dices a Tasker que recorra todos los elementos del array "items" poniendo temporalmente el contenido de cada uno de ellos en la variable "%item". Así puedes repetir con comodidad cualquier serie de procesos para cada elemento del array. El bucle lo tienes que cerrar con "Tareas > End For"

 Cita: Originalmente Escrito por Rbcheca Ver Mensaje
Ahí me asalta una duda, ¿tengo que poner el nombre de la serie completo, o vale con unas palabras clave) por ejemplo, ¿tengo que poner "perico el de los palotes hdtv 720p" o puedo buscar por "perico palotes 720p"?
Tasker admite comodines a la hora de hace comparaciones en determinados sitios. En tu ejemplo debería funcionar algo así ... *perico*palotes*720p*

Cada asterisco equivale a poner "aquí entra cualquier cosa". Ten eso presente si el resultado no es el esperado.

 Cita: Originalmente Escrito por Rbcheca Ver Mensaje
En la siguiente parte, la de "Si encuentras en un %item uno de los nombres que te interesa te sales del bucle y sigues con el proceso." ahi @WillyWeb, lo siento mucho si que no he entendido nada.
Puede que salir del bucle no sea la mejor solución en este caso

Creo que sería mejor un "If" con su correspondiente "End If" que encerrase el proceso que pienses seguir cuando encuentres lo que buscas. Naturalmente la condición de ese If debería ser que dentro de %item se encuentre el nombre de la serie que buscas usando lo de los comodines.

...

El proyecto no es complicado, pero el laborioso. De momento vas bien, pero te quedan muchas cosas por resolver que no te he querido contar para no asustarte ya que tienes pocas tablas con Tasker. Vamos poco a poco
Responder Con Cita
  #9  
Viejo 22/08/15, 20:53:17
Array

[xs_avatar]
Rbcheca Rbcheca no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: Madrid
Mensajes: 159
Modelo de smartphone: Nexus 5
Tu operador: Movistar
Lo de %HTTPD he leído en un tuto de este foro que aveces falla pero ahora no lo encuentro, no se yo si es que son demasiados datos ya que en ayuda pone que %HTTPD máx 4K, no se si se referirá a eso.

Para lo demás... necesito procesarlo lentamente para entenderlo.

Enviado desde mi Nexus 5 mediante Tapatalk
Responder Con Cita
  #10  
Viejo 22/08/15, 21:09:53
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
Lo he probado ahora mismo y he podido cargar los 251KB del feed en %HTTPD sin problemas. Es cierto que en la documentación dice que esa variable está limitada a 4KB, pero por lo que he podido comprobar eso no ya es cierto.

Una cosa que puede ocasionar que %HTTPD no tenga nada dentro es que HTTP Get no tenga tiempo de completar la descarga. Prueba subiendo el valor de "Cuenta atrás".

Realmente es indiferente la forma en que llegues a tener el contenido del feed en una variable. Si copiarlo a un archivo y luego leerlo en una variable te funciona, pues perfecto. Eso sí, yo usaría una variable local para no desperdiciar más memoria.
Responder Con Cita
  #11  
Viejo 22/08/15, 21:20:59
Array

[xs_avatar]
Rbcheca Rbcheca no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: Madrid
Mensajes: 159
Modelo de smartphone: Nexus 5
Tu operador: Movistar
Pues el motivo no era el tiempo, era que en tipo mime tenía puesto txt/xml, comprobado y recomprobado, ahora ya lo guarda correctamente.
Responder Con Cita
  #12  
Viejo 22/08/15, 21:22:52
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
Si lo dejas en blanco también funciona
Responder Con Cita
  #13  
Viejo 23/08/15, 17:04:21
Array

[xs_avatar]
Rbcheca Rbcheca no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: Madrid
Mensajes: 159
Modelo de smartphone: Nexus 5
Tu operador: Movistar
Bueno, después de hacer los pasos que me indicó @WillyWeb, tasker tenía problemas para manejar el volumen de datos que había dentro de <item></item>, entonces en vez de eso hice buscar y reemplazar sobre <link>(.|\s)*?</link>, que guarda solo el enlace al torrent, en el mismo enlace están todos los datos que mas adelante usaré para filtrar lo buscado.

Una vez que tengo todos los enlaces del feed en la variable %items, los filtro por palabras clave de la siguiente manera:

For variable %item Ítems %items()

If condicción %item coincide *perico*palotes*720*

O

%item coincide *quien*madruga*dios*ayuda*

ahora tengo en la variable %item los dos enlaces buscados pero con las etiquetas <link></link>

1.<link>Http://blablabla/perico-palotes-720/</link>
2.<link>Http://blablabla/a-quien-madruga-dios-le-ayuda/</link>

Le quito las etiquetas con (?<=<link>).*?(?=</link>) Yo también te lo agradezco @mlesir ;)

Buscar y reemplazar variable %item buscar (?<=<link>).*?(?=</link>) almacenar coincidencias en %link.

Ahora escribo esos dos links en un archivo para ver como los trabajo luego:

Escribir archivo link.txt Texto %link

Mi intención es ejecutar esta tarea completa dos veces al día, para que compruebe si hay algo nuevo y me lo notifique, pero necesito que si me da un resultado, las siguientes veces que se ejecute no me devuelva un resultado que ya me dió.

Tengo dos ideas para hacerlo, una es crear una variable global con cada busqueda coincidente, y que lo haga automaticamente, y cuando encuentre una coincidencia con mi búsqueda primero mire que no la ha encontrado antes, y en caso de que ya la tenga no me la devuelva, luego hacer que cada 10 días limpie esas variables para volver a ser usadas, 10 días por que el feed solo guarda la última semana.

La otra opción que se me ocurre es que mire en el archivo de texto %link para ver si ya está ahí el enlace, creo que esta es mejor, pero la verdad que ahora mismo no tengo ni idea de como llevarlas a cabo... .....Pero estoy en ello
Responder Con Cita
  #14  
Viejo 23/08/15, 17:05:55
Array

[xs_avatar]
Rbcheca Rbcheca no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: Madrid
Mensajes: 159
Modelo de smartphone: Nexus 5
Tu operador: Movistar
Bueno, después de hacer los pasos que me indicó @WillyWeb, tasker tenía problemas para manejar el volumen de datos que había dentro de <item></item>, entonces en vez de eso hice buscar y reemplazar sobre <link>(.|\s)*?</link>, que guarda solo el enlace al torrent, en el mismo enlace están todos los datos que mas adelante usaré para filtrar lo buscado.

Una vez que tengo todos los enlaces del feed en la variable %items, los filtro por palabras clave de la siguiente manera:

For variable %item Ítems %items()

If condicción %item coincide *perico*palotes*720*

O

%item coincide *quien*madruga*dios*ayuda*

ahora tengo en la variable %item los dos enlaces buscados pero con las etiquetas <link></link>

1.<link>Http://blablabla/perico-palotes-720/</link>
2.<link>Http://blablabla/a-quien-madruga-dios-le-ayuda/</link>

Le quito las etiquetas con (?<=<link>).*?(?=</link>) Yo también te lo agradezco @mlesir ;)

Buscar y reemplazar variable %item buscar (?<=<link>).*?(?=</link>) almacenar coincidencias en %link.

Ahora escribo esos dos links (ya sin etiquetas) en un archivo para ver como los trabajo luego:

Escribir archivo link.txt Texto %link1 (pensaba que sería %link, pero no se porque es %link1)

Mi intención es ejecutar esta tarea completa dos veces al día, para que compruebe si hay algo nuevo y me lo notifique, pero necesito que si me da un resultado, las siguientes veces que se ejecute no me devuelva un resultado que ya me dió.

Tengo dos ideas para hacerlo, una es crear una variable global con cada busqueda coincidente, y que lo haga automaticamente, y cuando encuentre una coincidencia con mi búsqueda primero mire que no la ha encontrado antes, y en caso de que ya la tenga no me la devuelva, luego hacer que cada 10 días limpie esas variables para volver a ser usadas, 10 días por que el feed solo guarda la última semana.

La otra opción que se me ocurre es que mire en el archivo de texto %link para ver si ya está ahí el enlace, creo que esta es mejor, pero la verdad que ahora mismo no tengo ni idea de como llevarlas a cabo... .....Pero estoy en ello

Última edición por Rbcheca Día 23/08/15 a las 17:11:59.
Responder Con Cita
  #15  
Viejo 23/08/15, 17:16:10
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
En el primer "Buscar y reemplazar", en lugar de usar "<link>(.|\s)*?</link>" utiliza esto otro "(?<=<link>).*?(?=</link>)". De esa forma la lista de %items ya te sale sin las etiquetas <link> y te ahorras tener que quitarlas después.
Responder Con Cita
  #16  
Viejo 23/08/15, 17:18:01
Array

[xs_avatar]
Rbcheca Rbcheca no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: Madrid
Mensajes: 159
Modelo de smartphone: Nexus 5
Tu operador: Movistar
lo hice, pero me daba error, tengo pendiente volver a hacerlo, pero quería avanzar un poco antes de mirarlo

Enviado desde mi Nexus 5 mediante Tapatalk
Responder Con Cita
  #17  
Viejo 23/08/15, 17:44:45
Array

[xs_avatar]
Rbcheca Rbcheca no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: Madrid
Mensajes: 159
Modelo de smartphone: Nexus 5
Tu operador: Movistar
Hice algo mal por que ahora no me ha dado ningun error.
Responder Con Cita
  #18  
Viejo 23/08/15, 18:34:50
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
Bueno, pues ahora que has llegado hasta aquí te enseño mi versión. Es algo muy básico que hace lo mismo que has hecho tú. Espero aportarte ideas nuevas...

Código:
BuscaEnFeed (666)
	A1: Establecer variable [ Nombre:%feed A:http://www.htcmania.com/external.php?forumids=969 Calcular:Apagado Añadir:Apagado ] 
	A2: Establecer variable [ Nombre:%busca A:*javascript*/*blue* Calcular:Apagado Añadir:Apagado ] 
	A3: HTTP Get [ Servidor:Puerto:%feed Ruta: Atributos: Cookies: User Agent: Cuenta atrás:10 Tipo Mime: Archivo de salida:feed.xml Confiar en cualquier Certificado:Apagado ] 
	A4: Buscar y Reemplazar Contenido de Variable [ Variable:%HTTPD Buscar:(?<=<title>).*?(?=</title>) Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Apagado Almacenar Coincidencias En:%titles Reemplazar Coincidencias:Apagado Reemplazar Con: ] 
	A5: Buscar y Reemplazar Contenido de Variable [ Variable:%HTTPD Buscar:(?<=<link>).*?(?=</link>) Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Apagado Almacenar Coincidencias En:%links Reemplazar Coincidencias:Apagado Reemplazar Con: ] 
	A6: Establecer variable [ Nombre:%lista A:%titles(#?%busca) Calcular:Apagado Añadir:Apagado ] 
	A7: Separar variable [ Nombre:%lista Separador:, Eliminar base:Apagado ] 
	A8: Escribir archivo [ Archivo:feed.txt Texto:%lista Añadir:Apagado Añadir Nueva Línea:Encendido ] 
	A9: For [ Variable:%num Ítems:%lista() ] 
	A10: Escribir archivo [ Archivo:feed.txt Texto:%titles(%num) ... %links(%num) Añadir:Encendido Añadir Nueva Línea:Encendido ] 
	A11: End For
Con A1 he metido en una variable la URL del feed. En este ejemplo he usado el de este foro.

Con A2 he metido en una variable una lista de términos a buscar separados por una barra. He usado el asterisco para poder localizar las palabras clave en cualquier posición. Por cierto, yo he preferido hacer la búsqueda en el <title> del tema. Si tú prefieres hacerlo en el <link> tendrás que cambiar A6.

Con A3 se descarga el feed y se guarda su contenido en %HTTPD. Lo del archivo lo he usado para depurar y se puede eliminar.

Con A4 y A5 se crean dos array. Uno con los todos los <title> y otro con los <link>. Ojo porque el primero de la lista no corresponde a un <item> aunque eso no es demasiado importante en este caso.

Con A6 se genera una lista separada por comas con los números de los elementos del array que contienen los términos de búsqueda guardados en A2. En mi caso el array que he usado es %titles pero puedes poner el otro y funcionará igual.

Con A7 se crea un array con esa lista de números separados por comas.

Con A8 escribo esa lista de números en un archivo de texto (sólo para comprobar).

Con el bucle A9-A11 añado a ese mismo archivo el contenido de cada elemento del array de títulos y enlaces que corresponde a cada número localizado en A6.

...

No es bonito, pero es muy rápido. Y además el uso de recursos se mantienen al mínimo, que ya sabes que en este caso es un factor crítico.
Responder Con Cita
  #19  
Viejo 23/08/15, 18:48:38
Array

[xs_avatar]
Rbcheca Rbcheca no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: Madrid
Mensajes: 159
Modelo de smartphone: Nexus 5
Tu operador: Movistar
Ostras Willy, necesito horas para descifrar y comprender eso, hasta hace tres días usaba tasker para encender y apagar el wifi... pero está muy chulo, me pongo ahora mismo.

A10 llega hasta donde hemos llegado con la otra forma, la de escribir los enlaces ¿no?
Responder Con Cita


  #20  
Viejo 23/08/15, 18:53:10
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
Sí, se guarda el <link> y el <title> de cada <item>.

Y no creo que te cueste "días" entenderlo. Es básicamente lo mismo que has hecho hasta ahora, aunque puede que usando alguna acción diferente.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Otro software para Android > Tasker



Hora actual: 18:57:38 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /