¿Cómo convierte Quora la URL en texto legible?

Cuando ingresa la URL en el cuadro de texto, el navegador ejecuta un código (Javascript) para identificar las URL. Una vez que se identifica la URL, el navegador realiza una solicitud POST al servidor.

Si no está familiarizado con POST, considérelo como una forma de enviar datos al servidor. Habría adivinado los datos que envía al servidor por ahora.

Los datos se envían en un formato especial llamado JSON. Cuando el servidor recibe la solicitud, extrae la url y ejecuta python (la mayor parte de la copia de seguridad de quora es python activada) para obtener el título. Uno puede hacer esto con el siguiente código.

importar urllib2 desde BeautifulSoup importar BeautifulSoup
sopa = BeautifulSoup (urllib2.urlopen (“https://gist.github.com/00111000/b835c6391772182295ed75822f2ab12f”))
title = soup.title.string

Una vez que se obtiene el título, devuelve los datos como JSON.

Puede ver todas estas cosas sucediendo en realidad haciendo clic en la sección de red de la consola del navegador. La consola del navegador se puede abrir con ctrl (cmd) + shift + i.

Su URL, cuando se pega en el área de texto para su pregunta / comentario genera una solicitud POST al servidor http://quora.com .

“Es un enlace, enviémoslo y veamos qué se supone que debo hacer”

ENVIAR

json: {“args”: [], “kwargs”: {“url”: ” https://gist.github.com/00111000/b835c6391772182295ed75822f2ab12f&quot ;}}

y la página obtiene una respuesta como

{“value”: {“title”: “withoutComprehensions”, “url”: ” https://gist.github.com/00111000/b835c6391772182295ed75822f2ab12f&quot ;,” snippet “:” Saltar al contenido def crackPassword (): your_list = ‘ abyz ‘complete_list = [] para actual en rango (3): b = [] para j en su_lista: b.append (j) para y en rango (actual): a = [] para i en su_lista: para x en b : a.append (x + i) b = a complete_list + = b print (complete_list) Algo salió mal con esa solicitud. Inténtalo de nuevo. Has iniciado sesión con otra pestaña o ventana. Vuelva a cargar para actualizar su sesión. Has cerrado sesión en otra pestaña o ventana. Vuelva a cargar para actualizar su sesión. “,” Image_keys “: [” f96a1d14c75bbca366fdb8c77dd04988 “,” 2abee8cf551b22b3c51e336e1beb2eb3 “],” display_type “: 2,” type “:” article “,” canonical_ps.htl “. / 00111000 / b835c6391772182295ed75822f2ab12f & quot ;}, “pmsg”: nulo}

Por lo tanto, reemplaza el enlace con un enlace a la página anclada alrededor de un título.

En el lado http://quora.com podría haber cualquier número de métodos para obtener esos metadatos. oEmbed es uno en el que muchas personas están comprando, pero lo anterior parece menos “incrustado” que un raspado personalizado del enlace o algunos metadatos combinados + raspado de título.

Lo más probable es que escanee su comentario en busca de URL resolubles, y cuando encuentra uno, intenta recuperar el contenido en esa URL. Luego busca una etiqueta en el HTML en esa URL y hace un reemplazo simple de la cadena al presentar su comentario. No es particularmente difícil de hacer.

Es bastante simple, en realidad: Quora busca la página en la URL y busca un título. En este caso, es el elemento de título HTML de la página.