Android: uso de Jsoup con archivo android_asset html
Ok bien he estado usando Jsoup para analizar html desde URLs remotos usando:
Jsoup.connect(url).timeout(20000).get();
Ahora estoy tratando de leer los archivos locales html que he almacenado en la carpeta de assets
. He hecho un montón de búsqueda, pero no puedo encontrar una solución. En el ejemplo Jsoup – Cargar un documento de un archivo , dicen que haga lo siguiente:
- ¿Cómo conectarse vía HTTPS usando Jsoup?
- Utilice jsoup para extraer texto de la clase 'form' con datos de página variable
- cómo resolver el error jsoup: no se puede encontrar una ruta de certificación válida a la dirección solicitada
- JSoup no analiza la página de problemas conocidos de Android
- ¿Hay una manera de acelerar Jsoup.parse ()?
File input = new File("/tmp/input.html"); Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
De lo que he leído, la ruta a mi archivo sería – file:///android_asset/results_2009.html
.
Sin embargo, siempre tengo no such file or directory
, así que ¿cómo puedo obtener un archivo local en Jsoup?
¿Necesito utilizar AssetManager
o algo así? Por favor, alguien puede señalarme en la dirección correcta.
- Jsoup no puede leer el archivo de retorno xml
- Problemas al pasar las cookies a la solicitud GET (después del POST)
- Error al liberar APK con AsyncTask y Jsoup
- Analizar una miniatura de YouTube en un iframe con Jsoup
- Nth-child (incluso) generando ParseException mientras usa el selector jsoup en android?
- Jsoup.connect () que trabaja con Java, no con Android
- Jsoup HTTP error fetching url
- JSOUP seleccione <div> con un ID específico
Jsoup.parse()
tiene una sobrecarga que toma un InputStream . Puede utilizar AssetManager
para obtener un InputStream
en su archivo y utilizarlo:
InputStream is=null; try { is=getAssets().open("results_2009.html"); Document doc = Jsoup.parse(is, "UTF-8", "http://example.com/"); } catch (IOException e) { e.printStackTrace(); } finally { if(is!=null) is.close(); }
- Manejo de identificadores de registro de GCM para varios dispositivos, mismo usuario
- ¿Qué podría causar este error en android?