¿Cómo extraer archivos Script y CSS de páginas web en Python?

Requisito previo:

En este artículo, discutiremos cómo extraer archivos Script y CSS de páginas web usando Python.

Para ello, estaremos descargando los archivos CSS y JavaScript que se adjuntaron al código fuente del sitio web durante su proceso de codificación. En primer lugar, se determina la URL del sitio web que se necesita raspar y se le envía una solicitud. Después de recuperar el contenido de los sitios web, se crean dos carpetas para dos tipos de archivos y los archivos se colocan en ellos y luego podemos realizar varias operaciones en ellos según nuestras necesidades.

Módulo necesario

  • bs4: Beautiful Soup (bs4) es una biblioteca de Python para extraer datos de archivos HTML y XML. Este módulo no viene integrado con Python.
  • requests: las  requests le permiten enviar requests HTTP/1.1 de forma extremadamente sencilla. Este módulo tampoco viene integrado con Python.

Ejemplo 1: 

Aquí estamos contando el número de enlaces obtenidos para cada tipo respectivo.

Python3

# Import Required Library
import requests
from bs4 import BeautifulSoup
  
# Web URL
web_url = "https://www.geeksforgeeks.org/"
  
# get HTML content
html = requests.get(web_url).content
  
# parse HTML Content
soup = BeautifulSoup(html, "html.parser")
  
js_files = []
cs_files = []
  
for script in soup.find_all("script"):
    if script.attrs.get("src"):
          
        # if the tag has the attribute 
        # 'src'
        url = script.attrs.get("src")
        js_files.append(web_url+url)
  
  
for css in soup.find_all("link"):
    if css.attrs.get("href"):
          
        # if the link tag has the 'href' 
        # attribute
        _url = css.attrs.get("href")
        cs_files.append(web_url+_url)
  
print(f"Total {len(js_files)} javascript files found")
print(f"Total {len(cs_files)} CSS files found")

Producción:

Total 7 archivos javascript encontrados

Total de 14 archivos CSS encontrados

También podemos usar el manejo de archivos para importar enlaces obtenidos en los archivos de texto.

Ejemplo 2:

Python3

# Import Required Library
import requests
from bs4 import BeautifulSoup
  
# Web URL
web_url = "https://www.geeksforgeeks.org/"
  
# get HTML content
html = requests.get(web_url).content
  
# parse HTML Content
soup = BeautifulSoup(html, "html.parser")
  
js_files = []
cs_files = []
  
for script in soup.find_all("script"):
    if script.attrs.get("src"):
        
        # if the tag has the attribute 
        # 'src'
        url = script.attrs.get("src")
        js_files.append(web_url+url)
  
  
for css in soup.find_all("link"):
    if css.attrs.get("href"):
        
        # if the link tag has the 'href'
        # attribute
        _url = css.attrs.get("href")
        cs_files.append(web_url+_url)
  
# adding links to the txt files
with open("javajavascript_files.txt", "w") as f:
    for js_file in js_files:
        print(js_file, file=f)
  
with open("css_files.txt", "w") as f:
    for css_file in cs_files:
        print(css_file, file=f)

Producción:

Publicación traducida automáticamente

Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *