Skip to content

Instantly share code, notes, and snippets.

@CuloArdido
Created January 24, 2019 23:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CuloArdido/a38ad1e3336e3c4db6343835a02db524 to your computer and use it in GitHub Desktop.
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)
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