CarlosSMWolff commited on
Commit
da3d53e
1 Parent(s): 4e7e6dd

Scrapping HTML content from Wikipedia

Browse files
Files changed (3) hide show
  1. app.py +23 -5
  2. requirements.txt +3 -1
  3. testing.ipynb +0 -0
app.py CHANGED
@@ -1,20 +1,38 @@
1
  from fastai.vision.all import *
2
  import gradio as gr
3
  import timm
4
-
 
5
 
6
  learn = load_learner("export_ConvNextLargeLargeDS.pkl")
7
 
8
-
9
-
10
  categories = learn.dls.vocab
11
-
12
  html_content = '<table class="infobox" style="width:22.7em; line-height: 1.4em; text-align:left; padding:.23em;"><tbody><tr><th class="cabecera" colspan="3" style="text-align:center;background-color:#90EE90;color:black;"><div class="noprint" style="float:right; padding:.1em;"><a href="/wiki/Ayuda:C%C3%B3mo_leer_una_ficha_de_tax%C3%B3n" title="Ayuda:Cómo leer una ficha de taxón"><img alt="Symbol question.svg" data-file-height="185" data-file-width="180" decoding="async" height="16" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Symbol_question.svg/16px-Symbol_question.svg.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Symbol_question.svg/24px-Symbol_question.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Symbol_question.svg/32px-Symbol_question.svg.png 2x" width="16"/></a></div><div class="noprint" style="float:left;"><span style="padding-left: 1em;">\xa0</span></div>\nEncina</th></tr><tr><td class="imagen" colspan="3" style="text-align:center;">\n<a class="image" href="/wiki/Archivo:Carrasca_de_la_Raboseras.JPG"><img alt="Carrasca de la Raboseras.JPG" data-file-height="634" data-file-width="845" decoding="async" height="188" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/85/Carrasca_de_la_Raboseras.JPG/250px-Carrasca_de_la_Raboseras.JPG" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/85/Carrasca_de_la_Raboseras.JPG/375px-Carrasca_de_la_Raboseras.JPG 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/85/Carrasca_de_la_Raboseras.JPG/500px-Carrasca_de_la_Raboseras.JPG 2x" width="250"/></a><br/><div style="display:inline;font-size:95%;"><i>Quercus ilex</i></div></td></tr><tr><th colspan="3" style="text-align:center;background-color: #90EE90;"><a href="/wiki/Estado_de_conservaci%C3%B3n" title="Estado de conservación">Estado de conservación</a></th></tr><tr><td colspan="3" style="text-align:center;"><a class="image" href="/wiki/Archivo:Status_iucn3.1_LC_es.svg" title="Preocupación menor (LC)"><img alt="Preocupación menor (LC)" data-file-height="64" data-file-width="240" decoding="async" height="53" src="//upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Status_iucn3.1_LC_es.svg/200px-Status_iucn3.1_LC_es.svg.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Status_iucn3.1_LC_es.svg/300px-Status_iucn3.1_LC_es.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Status_iucn3.1_LC_es.svg/400px-Status_iucn3.1_LC_es.svg.png 2x" width="200"/></a><br/><a href="/wiki/Especie_bajo_preocupaci%C3%B3n_menor" title="Especie bajo preocupación menor">Preocupación menor</a> <span style="font-size:smaller; font-weight:bold">(<a href="/wiki/Uni%C3%B3n_Internacional_para_la_Conservaci%C3%B3n_de_la_Naturaleza" title="Unión Internacional para la Conservación de la Naturaleza">UICN</a>)</span></td></tr><tr><th colspan="3" style="text-align:center;background-color: #90EE90;"><a href="/wiki/Taxonom%C3%ADa" title="Taxonomía">Taxonomía</a></th></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/Reino_(biolog%C3%ADa)" title="Reino (biología)">Reino</a>:</th><td colspan="2">\n<a href="/wiki/Plantae" title="Plantae">Plantae</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;">Subreino:</th><td colspan="2">\n<a class="mw-redirect" href="/wiki/Tracheobionta" title="Tracheobionta">Tracheobionta</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/Divisi%C3%B3n_(biolog%C3%ADa)" title="División (biología)">División</a>:</th><td colspan="2">\n<a class="mw-redirect" href="/wiki/Magnoliophyta" title="Magnoliophyta">Magnoliophyta</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/Clase_(biolog%C3%ADa)" title="Clase (biología)">Clase</a>:</th><td colspan="2">\n<a class="mw-redirect" href="/wiki/Magnoliopsida" title="Magnoliopsida">Magnoliopsida</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;">Subclase:</th><td colspan="2">\n<a href="/wiki/Hamamelidae" title="Hamamelidae">Hamamelidae</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/Orden_(biolog%C3%ADa)" title="Orden (biología)">Orden</a>:</th><td colspan="2">\n<a href="/wiki/Fagales" title="Fagales">Fagales</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/Familia_(biolog%C3%ADa)" title="Familia (biología)">Familia</a>:</th><td colspan="2">\n<a href="/wiki/Fagaceae" title="Fagaceae">Fagaceae</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/G%C3%A9nero_(biolog%C3%ADa)" title="Género (biología)">Género</a>:</th><td colspan="2">\n<span style="font-style:italic"><i><a href="/wiki/Quercus" title="Quercus">Quercus</a></i></span></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;">Subgénero:</th><td colspan="2">\n<span style="font-style:italic"><a href="/wiki/Subg%C3%A9nero_Quercus" title="Subgénero Quercus">Quercus</a></span></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;">Sección:</th><td colspan="2">\n<span style="font-style:italic"><i><a href="/wiki/Secci%C3%B3n_Quercus" title="Sección Quercus">Quercus</a></i></span></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/Especie" title="Especie">Especie</a>:</th><td colspan="2">\n<span style="font-style:italic"><i><b>Quercus ilex</b></i></span><br/><span style="font-variant:small-caps;"><a class="mw-redirect" href="/wiki/L." title="L.">L.</a></span></td></tr><tr><th colspan="3" style="text-align:center;background-color: #90EE90;"><a class="mw-redirect" href="/wiki/%C3%81rea_biogeogr%C3%A1fica" title="Área biogeográfica">Distribución</a></th></tr><tr><td colspan="3" style="text-align:center;">\n<a class="image" href="/wiki/Archivo:Quercus_ilex_range.svg"><img alt="Mapa de distribución. En naranja: Quercus ilex subsp. rotundifolia. En verde: Quercus ilex subsp. ilex." data-file-height="886" data-file-width="1418" decoding="async" height="156" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Quercus_ilex_range.svg/250px-Quercus_ilex_range.svg.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Quercus_ilex_range.svg/375px-Quercus_ilex_range.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Quercus_ilex_range.svg/500px-Quercus_ilex_range.svg.png 2x" width="250"/></a><br/>Mapa de distribución. En naranja: <i>Quercus ilex</i> subsp. <i>rotundifolia</i>. En verde: <i>Quercus ilex</i> subsp. <i>ilex</i>.</td></tr><tr><th colspan="3" style="text-align:center;background-color: #90EE90;">Subespecies</th></tr><tr><td colspan="3" style="text-align:left;"><div>\n<ul><li><i>Q. ilex</i> subsp. <i>ilex</i></li>\n<li><i>Q. ilex</i> subsp. <i>ballota</i></li></ul>\n</div></td></tr><tr><td class="noprint" colspan="3" style="text-align:left;"><div class="plainlinks wikidata-link" style="font-size: 0.85em">[<a class="extiw" href="https://www.wikidata.org/wiki/Q218155" title="d:Q218155">editar datos en Wikidata</a>]</div></td></tr></tbody></table>'
13
 
14
 
15
  def classify_image(im):
16
  pred, idx, probs = learn.predict(im)
17
- return dict(zip(categories, map(float,probs))), html_content
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
 
19
  image = gr.Image(shape=(224,224))
20
 
 
1
  from fastai.vision.all import *
2
  import gradio as gr
3
  import timm
4
+ import requests
5
+ from bs4 import BeautifulSoup
6
 
7
  learn = load_learner("export_ConvNextLargeLargeDS.pkl")
8
 
 
 
9
  categories = learn.dls.vocab
 
10
  html_content = '<table class="infobox" style="width:22.7em; line-height: 1.4em; text-align:left; padding:.23em;"><tbody><tr><th class="cabecera" colspan="3" style="text-align:center;background-color:#90EE90;color:black;"><div class="noprint" style="float:right; padding:.1em;"><a href="/wiki/Ayuda:C%C3%B3mo_leer_una_ficha_de_tax%C3%B3n" title="Ayuda:Cómo leer una ficha de taxón"><img alt="Symbol question.svg" data-file-height="185" data-file-width="180" decoding="async" height="16" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Symbol_question.svg/16px-Symbol_question.svg.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Symbol_question.svg/24px-Symbol_question.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Symbol_question.svg/32px-Symbol_question.svg.png 2x" width="16"/></a></div><div class="noprint" style="float:left;"><span style="padding-left: 1em;">\xa0</span></div>\nEncina</th></tr><tr><td class="imagen" colspan="3" style="text-align:center;">\n<a class="image" href="/wiki/Archivo:Carrasca_de_la_Raboseras.JPG"><img alt="Carrasca de la Raboseras.JPG" data-file-height="634" data-file-width="845" decoding="async" height="188" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/85/Carrasca_de_la_Raboseras.JPG/250px-Carrasca_de_la_Raboseras.JPG" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/85/Carrasca_de_la_Raboseras.JPG/375px-Carrasca_de_la_Raboseras.JPG 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/85/Carrasca_de_la_Raboseras.JPG/500px-Carrasca_de_la_Raboseras.JPG 2x" width="250"/></a><br/><div style="display:inline;font-size:95%;"><i>Quercus ilex</i></div></td></tr><tr><th colspan="3" style="text-align:center;background-color: #90EE90;"><a href="/wiki/Estado_de_conservaci%C3%B3n" title="Estado de conservación">Estado de conservación</a></th></tr><tr><td colspan="3" style="text-align:center;"><a class="image" href="/wiki/Archivo:Status_iucn3.1_LC_es.svg" title="Preocupación menor (LC)"><img alt="Preocupación menor (LC)" data-file-height="64" data-file-width="240" decoding="async" height="53" src="//upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Status_iucn3.1_LC_es.svg/200px-Status_iucn3.1_LC_es.svg.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Status_iucn3.1_LC_es.svg/300px-Status_iucn3.1_LC_es.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/5c/Status_iucn3.1_LC_es.svg/400px-Status_iucn3.1_LC_es.svg.png 2x" width="200"/></a><br/><a href="/wiki/Especie_bajo_preocupaci%C3%B3n_menor" title="Especie bajo preocupación menor">Preocupación menor</a> <span style="font-size:smaller; font-weight:bold">(<a href="/wiki/Uni%C3%B3n_Internacional_para_la_Conservaci%C3%B3n_de_la_Naturaleza" title="Unión Internacional para la Conservación de la Naturaleza">UICN</a>)</span></td></tr><tr><th colspan="3" style="text-align:center;background-color: #90EE90;"><a href="/wiki/Taxonom%C3%ADa" title="Taxonomía">Taxonomía</a></th></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/Reino_(biolog%C3%ADa)" title="Reino (biología)">Reino</a>:</th><td colspan="2">\n<a href="/wiki/Plantae" title="Plantae">Plantae</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;">Subreino:</th><td colspan="2">\n<a class="mw-redirect" href="/wiki/Tracheobionta" title="Tracheobionta">Tracheobionta</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/Divisi%C3%B3n_(biolog%C3%ADa)" title="División (biología)">División</a>:</th><td colspan="2">\n<a class="mw-redirect" href="/wiki/Magnoliophyta" title="Magnoliophyta">Magnoliophyta</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/Clase_(biolog%C3%ADa)" title="Clase (biología)">Clase</a>:</th><td colspan="2">\n<a class="mw-redirect" href="/wiki/Magnoliopsida" title="Magnoliopsida">Magnoliopsida</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;">Subclase:</th><td colspan="2">\n<a href="/wiki/Hamamelidae" title="Hamamelidae">Hamamelidae</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/Orden_(biolog%C3%ADa)" title="Orden (biología)">Orden</a>:</th><td colspan="2">\n<a href="/wiki/Fagales" title="Fagales">Fagales</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/Familia_(biolog%C3%ADa)" title="Familia (biología)">Familia</a>:</th><td colspan="2">\n<a href="/wiki/Fagaceae" title="Fagaceae">Fagaceae</a></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/G%C3%A9nero_(biolog%C3%ADa)" title="Género (biología)">Género</a>:</th><td colspan="2">\n<span style="font-style:italic"><i><a href="/wiki/Quercus" title="Quercus">Quercus</a></i></span></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;">Subgénero:</th><td colspan="2">\n<span style="font-style:italic"><a href="/wiki/Subg%C3%A9nero_Quercus" title="Subgénero Quercus">Quercus</a></span></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;">Sección:</th><td colspan="2">\n<span style="font-style:italic"><i><a href="/wiki/Secci%C3%B3n_Quercus" title="Sección Quercus">Quercus</a></i></span></td></tr><tr><th scope="row" style="text-align:left;font-weight:normal;;"><a href="/wiki/Especie" title="Especie">Especie</a>:</th><td colspan="2">\n<span style="font-style:italic"><i><b>Quercus ilex</b></i></span><br/><span style="font-variant:small-caps;"><a class="mw-redirect" href="/wiki/L." title="L.">L.</a></span></td></tr><tr><th colspan="3" style="text-align:center;background-color: #90EE90;"><a class="mw-redirect" href="/wiki/%C3%81rea_biogeogr%C3%A1fica" title="Área biogeográfica">Distribución</a></th></tr><tr><td colspan="3" style="text-align:center;">\n<a class="image" href="/wiki/Archivo:Quercus_ilex_range.svg"><img alt="Mapa de distribución. En naranja: Quercus ilex subsp. rotundifolia. En verde: Quercus ilex subsp. ilex." data-file-height="886" data-file-width="1418" decoding="async" height="156" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Quercus_ilex_range.svg/250px-Quercus_ilex_range.svg.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Quercus_ilex_range.svg/375px-Quercus_ilex_range.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Quercus_ilex_range.svg/500px-Quercus_ilex_range.svg.png 2x" width="250"/></a><br/>Mapa de distribución. En naranja: <i>Quercus ilex</i> subsp. <i>rotundifolia</i>. En verde: <i>Quercus ilex</i> subsp. <i>ilex</i>.</td></tr><tr><th colspan="3" style="text-align:center;background-color: #90EE90;">Subespecies</th></tr><tr><td colspan="3" style="text-align:left;"><div>\n<ul><li><i>Q. ilex</i> subsp. <i>ilex</i></li>\n<li><i>Q. ilex</i> subsp. <i>ballota</i></li></ul>\n</div></td></tr><tr><td class="noprint" colspan="3" style="text-align:left;"><div class="plainlinks wikidata-link" style="font-size: 0.85em">[<a class="extiw" href="https://www.wikidata.org/wiki/Q218155" title="d:Q218155">editar datos en Wikidata</a>]</div></td></tr></tbody></table>'
11
 
12
 
13
  def classify_image(im):
14
  pred, idx, probs = learn.predict(im)
15
+
16
+ # Scrap HTML content from Wikipedia
17
+ #=======================
18
+ # Select my dictionary
19
+ es_dict = {"header":"cabecera", "wiki_lan":"es"}
20
+ en_dict = {"header":"header", "wiki_lan":"en"}
21
+ dict = es_dict
22
+ tree_name = pred
23
+ URL = f'https://{dict["wiki_lan"]}.wikipedia.org/wiki/{tree_name.replace(" ","_")}'
24
+ page = requests.get(URL)
25
+
26
+ soup = BeautifulSoup(page.content, "html.parser")
27
+
28
+ try:
29
+ infobox = soup.find_all(class_="infobox")
30
+ html_content_infobox=str(infobox[0])
31
+ except:
32
+ html_content_infobox = "<p>No pudimos extraer la información de Wikipedia 😅</p>"
33
+
34
+
35
+ return dict(zip(categories, map(float,probs))), html_content_infobox
36
 
37
  image = gr.Image(shape=(224,224))
38
 
requirements.txt CHANGED
@@ -1,3 +1,5 @@
1
  fastai
2
  scikit-image
3
- timm
 
 
 
1
  fastai
2
  scikit-image
3
+ timm
4
+ requests
5
+ beautifulsoup4
testing.ipynb ADDED
The diff for this file is too large to render. See raw diff