👹BUSCA TEMAS UTILIZADO POR SITIO WEB WORDPRESS P4ItemasWordpress.py
// Some code
```python
#! consiguiendo los temas que utilza un sitio web con wordpress - P4ItemasWordpress.py - By P4IM0N
#!/usr/bin/env python
#_*_coding: utf8_*_
#--------------------------------------------------------------------
from bs4 import BeautifulSoup
import requests
from tabulate import tabulate
#--------------------------------------------------------------------
banner='''
__________ _____ .___ __ __ __ .___
\______ \/ | || |/ |_ ____ _____ _____ ______/ \ / \__| _/____________ ____ ______ ______
| ___/ | || \ __\/ __ \ / \\__ \ / ___/\ \/\/ / __ |\____ \_ __ \_/ __ \ / ___// ___/
| | / ^ / || | \ ___/| Y Y \/ __ \_\___ \ \ / /_/ || |_> > | \/\ ___/ \___ \ \___ \
|____| \____ ||___||__| \___ >__|_| (____ /____ > \__/\ /\____ || __/|__| \___ >____ >____ >
|__| \/ \/ \/ \/ \/ \/|__| \/ \/ \/
'''
print(banner)
#--------------------------------------------------------------------
def main():
url_para_analizar = input('ingresa la pagiona manito para que sepas los temas que usa: ') #? ingreso de la pagina a analizar
cabecera = {'User-Agent':'Firefox'} #? definimos el uso del navegador que utilizamos con el encabezado
url_para_analizar_lista = requests.get(url=url_para_analizar,headers=cabecera) #? hacemos un llamado de tipo get usando request para obtener la respuesta de el html del la pagina aportada en su parametro
#print(url_para_analizar_lista.text) #? comprobamos que se recibio bien la llamada tipo post obteniendo el html perfectamente
html_de_url_con_soup = BeautifulSoup(url_para_analizar_lista.text,'html5lib') #? parseamos con Beautifusoup el html optenido por request.get y le damos un formato html5lib, para luego usar metodos sobre el en esta variable
lista_de_temas_encontrados = [] #?creo una lista vacia donde guardare la informacion de los temas encontrados para se r mostrados luego en la tabla
cabecera_de_lista = ['TEMAS DE WORDPRESS ENCONTRADOS ' ] #?creao la cabecera de la tabla
for enlace in html_de_url_con_soup.find_all('link'): #?iteramos sobre cada enlace encontrado dentro de la variable parseada con bs4 con su metodo find_al y el parametro de busqueda que encunetre solo las etiquetas 'link'
if '/wp-content/themes/' in enlace.get('href'): #?condicionamos que si se encuentra el string /wp-content/themes/ in cada enlace con 'link' encontrado y que en su 'href' contenga el string que le dimos de condicional, siga con el siguienrte paso en el caso de que sea True
tema = enlace.get('href') #?guardamos el 'href' de cada una de estos enlaces
tema = tema.split('/') #? a este 'href' link obtenido tras todo el filtro de condiciones, le aplicamos el metodo .split para que nos separe en una lista los elementos que esten separados con / que le definimos nosotros, para luego poder usar sus posiciones
if 'themes' in tema: #?si se encuentra 'themes' en la lista de eleemntos guardados en tema
posicion = tema.index('themes') #?creamos una posicion usando el metodo .index() sobre la lista que creamos con .split anteriormente, y le decimos que con index en donde encuentre el parametro o elemento que le dimos, que seria 'themes' nos de su posicion numerica en la lista
temas_encontrados = tema[posicion+1] #?aca jugamos con la posicion obtenida y le sumamos 1 por que el nombre del tema , se encuentra en la posicion que le sigue a 'theme'
lista_de_temas_encontrados.append([temas_encontrados]) #?acc con append voy guardando en la lista vacia, en cada iteracion cada tema encontrado cada uno como una lista o elemento separado y luego mostrarlos en la tabla
#print(temas_encontrados)
tabla_de_informacion = tabulate(lista_de_temas_encontrados,cabecera_de_lista, tablefmt='grid') #?creamos la tabla, con tabulate, le damos la informacion que contendra, la cabecera creada y el formato de la tabla
print(tabla_de_informacion)
#--------------------------------------------------------------------
if __name__=='__main__':
try:
main()
except KeyboardInterrupt:
print('el programa se esta cerrando manito')
exit()
```
Last updated