Created
January 24, 2019 23:20
-
-
Save CuloArdido/a38ad1e3336e3c4db6343835a02db524 to your computer and use it in GitHub Desktop.
Algunas funciones y fragmentos de código para obtener información/estadisticas de Hispachan (requiere BeautifulSoup4)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from bs4 import BeautifulSoup as bs | |
from requests import request | |
import re | |
dominio ="https://www.hispachan.org" | |
principal = bs(request("GET", dominio).text, "lxml") | |
# Obtiene los enlaces de los tablones | |
def obtener_tablones(): | |
enlaces = principal.findAll("a", {"rel": "board", "href": re.compile("/[^/]+/$")}) | |
return [dominio + tag["href"] for tag in enlaces] | |
# Obtiene el enlace de la ultima pagina de un tablon | |
def obtener_ultima_pagina(enlace_tablon): | |
tablon = bs(request("GET", enlace_tablon).text, "lxml") | |
paginas = tablon.select_one(".numeros > tbody > tr") | |
return paginas.findAll("a", {"href": re.compile(".+/[0-9]+\.html$")})[-1]["href"] | |
# Obtiene la fecha de la respuesta que esta al final de la pagina/hilo | |
def obtener_fecha_ultima_respuesta(enlace): | |
contenido = bs(request("GET", enlace).text, "lxml") | |
ultima_respuesta= contenido.findAll("td", {"id": re.compile("reply[0-9]+$")})[-1] | |
return ultima_respuesta.select_one('a["data-date"]')["data-date"] | |
for tablon in obtener_tablones(): | |
fecha = obtener_fecha_ultima_respuesta(obtener_ultima_pagina(tablon)) | |
print(">>/%s/: %s" % (tablon.split("/")[3], fecha)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment