create account

SCRAPPING con Python extrayendo Unicode para Criptografia!!! [Mini Curso Python] by sethroot

View this thread on: hive.blogpeakd.comecency.com
· @sethroot ·
$8.29
SCRAPPING con Python extrayendo Unicode para Criptografia!!! [Mini Curso Python]
<html>
<p>Hoy vamos a extraer una tabla de Internet que contiene: Valor de un String o el UTF-8, sus equivalentes en Binario, Octal, Decimal, Hexadecimal y una breve descripción.</p>
<p>La tabla la saque de aqui: https://www.sciencebuddies.org/science-fair-projects/references/table-of-8-bit-ascii-character-codes</p>
<p>Lo interesante de todo sera usar el Scrapping de python con BeutifullSoup para extraer una estructura de Lista, luego esta lista puede traer errores así que la filtramos a listas de Python, y luego la pasamos a un diccionario para tener una llave y un valor de esta manera por ejemplo:</p>
<blockquote>dictionary_unicode = {"A": ['065', '101', '041', '0100 0001']}</blockquote>
<p>Donde al llamar a:</p>
<blockquote><code>dictionary_unicode['A'][0]</code> dará como resultado <code>065</code> que no es mas que la parte decimal de "A" si queremos la parte binaria seria asi <code>dictionary_unicode['A'][3]</code></blockquote>
<p>Aquí tenemos el primer código iré comentándolo que vamos haciendo entre códigos incluso puede q repita la clase por que como STEEMIT no tiene una buena forma de hacer series es mejor repetirlas, refrescar mejorar y agregar..</p>
<pre><code># -*- coding: utf-8 -*-</code></pre>
<pre><code>import urllib2</code></pre>
<pre><code>from bs4 import BeautifulSoup</code></pre>
<pre><code>import re</code></pre>
<pre><code>from prettytable import PrettyTable</code></pre>
<pre><code>import os, subprocess</code></pre>
<pre><code>url_unicode = "https://www.sciencebuddies.org/science-fair-projects/references/table-of-8-bit-ascii-character-codes"</code></pre>
<pre><code>page = urllib2.urlopen(url_unicode)</code></pre>
<pre><code>soup = BeautifulSoup(page, "lxml")</code></pre>
<pre><code>name_box = soup.find('div', attrs={'class': 'content-table page-break-avoid'})&nbsp;</code></pre>
<pre><code>name_boxaaa = soup.find('table') &nbsp;</code></pre>
<pre><code>table_headers = name_boxaaa.find_all('tr')</code></pre>
<p><br></p>
<p>A ver vamos a entender un poco el código, en esta primera entrada llegaremos a mandar la lista a un archivo esto para que cuando ya tengamos la lista no tengamos que descargarla de nuevo :D</p>
<pre><code>import urllib2</code></pre>
<p>Esta librería es para importar urls completas o mejor dicho lo que tienen dentro de esa url.</p>
<pre><code>from bs4 import BeautifulSoup</code></pre>
<p>importamos BeautifulSoup desde la librería bs4 para manejar mejor la Sopa del Html que necesitamos extraer o XML.</p>
<pre><code>import re</code></pre>
<p>re es Expresiones regulare como dicen los Pro es un mundo aparte de programación, que todo programador ya sea de Java, Python o &nbsp;los que sea debería conocer.</p>
<pre><code>import os, subprocess</code></pre>
<p>Estas son librerías que solo funcionaran en Sistemas Linux según entiendo nunca las he usado en Windows...</p>
<p>Ahora se viene lo bueno:</p>
<pre><code>url_unicode = "https://www.sciencebuddies.org/science-fair-projects/references/table-of-8-bit-ascii-character-codes"</code></pre>
<pre><code>page = urllib2.urlopen(url_unicode)</code></pre>
<p>aqui abrimos la url con urllib2, hacemos un request por decirlo mejor.</p>
<pre><code>soup = BeautifulSoup(page, "lxml")</code></pre>
<p>Ya luego la pasamos a un formato mas legible por si algun programador no hizo su trabajo y lo ponemos en XML o una estructura mas amigable, si quiere saber de que hablo coloque un <code>print page </code>Antes de soup.</p>
<p>Ahora necesitamos extraer la tabla que necesitamos lo hacemos asi:</p>
<pre><code>name_box = soup.find('div', attrs={'class': 'content-table page-break-avoid'})&nbsp;</code></pre>
<p>La clase &nbsp;<code>content-table page-break-avoid </code>es la que contiene la tabla que necesitamos recuerden que podríamos tener muchas tablas y div es donde se encuentra esa clase.</p>
<pre><code>name_boxaaa = soup.find('table') &nbsp;</code></pre>
<p>Luego ya tenemos todo mas compacto, te invito a meter un <code>print name_box</code> antes de &nbsp;<code>name_boxaaa </code>en la linea anterior buscamos con find la etiqueta table.</p>
<pre><code>table_headers = name_boxaaa.find_all('tr')</code></pre>
<p>Ahora buscamos las etiqueta ""tr"" y aprovechamos BeautifullSoup y usamos el find_all propio de las expresiones regulares para crear una lista de cada "tr", esta lista necesitamos enviarla a un archivo para no tener que descargarla siempre.</p>
<p><br></p>
<p>Ahora mismo la tenemos en una lista todos los "tr" pero necesitamos leerla mucho y no &nbsp;deberíamos tener que conectarnos a Internet siempre.</p>
<p>lo hacemos así:</p>
<pre><code>crear_LISTA_unicode = subprocess.call("touch lista_en.txt", shell=True)</code></pre>
<p>Aqui usamos <code>subprocess.call</code> para ejecutar comandos de Linux desde Python.</p>
<pre><code>f=open("lista_en.txt","w")</code></pre>
<p>Abrimos el Archivo anteriormente creado.</p>
<pre><code>f.write(lista_unicode)</code></pre>
<p>escribimos la lista que hemos descargado "lista_unicode"</p>
<pre><code>f.close()</code></pre>
<p>Y cerramos si queremos ver la lista simplemente colocamos un <code>print lista_unicode </code>al terminar.</p>
<p><br></p>
<p>En la Próxima sesión estaremos viendo como leer la lista desde el Archivo y pasarla a un Diccionario del tipo que comente al principio, nos vemos hasta la próxima.</p>
<p><br></p>
<p><br></p>
</html>
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 84 others
properties (23)
authorsethroot
permlinkscrapping-con-python-extrayendo-unicode-para-criptografia-mini-curso-python
categoryspanish
json_metadata{"tags":["spanish","python","programming","linux","cryptography"],"links":["https://www.sciencebuddies.org/science-fair-projects/references/table-of-8-bit-ascii-character-codes"],"app":"steemit/0.1","format":"html"}
created2017-09-28 21:22:18
last_update2017-09-28 21:22:18
depth0
children4
last_payout2017-10-05 21:22:18
cashout_time1969-12-31 23:59:59
total_payout_value6.391 HBD
curator_payout_value1.898 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length5,338
author_reputation15,716,888,530,282
root_title"SCRAPPING con Python extrayendo Unicode para Criptografia!!! [Mini Curso Python]"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd0
post_id16,218,506
net_rshares2,981,067,454,358
author_curate_reward""
vote details (148)
@don.quijote ·
Buenas tardes @sethroot
Un idioma complejo y desconocido para mí el de la programación pero no por ello carente de mucho mérito.
properties (22)
authordon.quijote
permlinkre-sethroot-scrapping-con-python-extrayendo-unicode-para-criptografia-mini-curso-python-20171001t114322519z
categoryspanish
json_metadata{"tags":["spanish"],"users":["sethroot"],"app":"steemit/0.1"}
created2017-10-01 11:43:21
last_update2017-10-01 11:43:21
depth1
children1
last_payout2017-10-08 11:43:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length128
author_reputation175,546,267,224,811
root_title"SCRAPPING con Python extrayendo Unicode para Criptografia!!! [Mini Curso Python]"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id16,463,490
net_rshares0
@sethroot ·
Que bueno que te haya gustado muchas gracias!!!
properties (22)
authorsethroot
permlinkre-donquijote-re-sethroot-scrapping-con-python-extrayendo-unicode-para-criptografia-mini-curso-python-20171001t211217666z
categoryspanish
json_metadata{"tags":["spanish"],"app":"steemit/0.1"}
created2017-10-01 21:12:18
last_update2017-10-01 21:12:18
depth2
children0
last_payout2017-10-08 21:12:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length47
author_reputation15,716,888,530,282
root_title"SCRAPPING con Python extrayendo Unicode para Criptografia!!! [Mini Curso Python]"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id16,507,306
net_rshares0
@truffier ·
Seth gueko 😉
properties (22)
authortruffier
permlinkre-sethroot-scrapping-con-python-extrayendo-unicode-para-criptografia-mini-curso-python-20170928t212656973z
categoryspanish
json_metadata{"tags":["spanish"],"app":"steemit/0.1"}
created2017-09-28 21:27:00
last_update2017-09-28 21:27:00
depth1
children1
last_payout2017-10-05 21:27:00
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length12
author_reputation9,893,251,640
root_title"SCRAPPING con Python extrayendo Unicode para Criptografia!!! [Mini Curso Python]"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id16,218,777
net_rshares0
@sethroot ·
thx :D
properties (22)
authorsethroot
permlinkre-truffier-re-sethroot-scrapping-con-python-extrayendo-unicode-para-criptografia-mini-curso-python-20170928t224540639z
categoryspanish
json_metadata{"tags":["spanish"],"app":"steemit/0.1"}
created2017-09-28 22:45:42
last_update2017-09-28 22:45:42
depth2
children0
last_payout2017-10-05 22:45:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length6
author_reputation15,716,888,530,282
root_title"SCRAPPING con Python extrayendo Unicode para Criptografia!!! [Mini Curso Python]"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id16,223,340
net_rshares0