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