0
Home  ›  coding  ›  Python

Ekstrak File Script dan CSS Website Menggunakan Python

 


Dalam tutorial kali ini kita akan mengesktrak file codingan yang terdapat pada sebuah website. Kita akan menggunakan permintaan request dan juga beautifulshop untuk melakukan parse file HTML, jika kamu belum memilikinya kamu bisa menginstalnya terlebih dahulu.

pip3 install requests bs4

Selanjutnya ialah melakukan analisis sesi HTTP dan mengatur agen penggunaa sebagai browser biasa.

import requests
from bs4 import BeautifulSoup as bs
from urllib.parse import urljoin

# URL of the web page you want to extract
url = "http://books.toscrape.com"

# initialize a session
session = requests.Session()
# set the User-agent as a regular browser
session.headers["User-Agent"] = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36"

Untuk dapat mendownload semua codingan HTML nya kamu perlu menambah metode session.get() , yang mengembalikan objek respon, kita hanya tertarik pada kode HTML.

# get the HTML content
html = session.get(url).content

# parse HTML using beautiful soup
soup = bs(html, "html.parser")

Ekstrak filenya dengan menggunakan metode sup.find_all() yang mengembalikan semua objek sup HTML yang difilter dengan tag dan atribut yang diteruskan:

# get the JavaScript files
script_files = []

for script in soup.find_all("script"):
    if script.attrs.get("src"):
        # if the tag has the attribute 'src'
        script_url = urljoin(url, script.attrs.get("src"))
        script_files.append(script_url)

Ekstrak semua file css dengan menggunakan metode sup.find_all() yang mengembalikan semua objek sup HTML yang difilter dengan tag dan atribut yang diteruskan.

# get the JavaScript files
script_files = []

for script in soup.find_all("script"):
    if script.attrs.get("src"):
        # if the tag has the attribute 'src'
        script_url = urljoin(url, script.attrs.get("src"))
        script_files.append(script_url)

Jadi pada dasarnya kami mencari tag skrip yang memiliki atribut src , biasanya ini tertaut ke file Javascript yang diperlukan untuk situs web ini. Kamu juga bisa mengekstrak CSS.

# get the CSS files
css_files = []

for css in soup.find_all("link"):
    if css.attrs.get("href"):
        # if the link tag has the 'href' attribute
        css_url = urljoin(url, css.attrs.get("href"))
        css_files.append(css_url)

Seperti yang Anda ketahui, file CSS berada dalam atribut href di tag tautan . Kami menggunakan fungsi urljoin() untuk memastikan tautannya bersifat absolut (yaitu dengan jalur lengkap, bukan jalur relatif seperti /js/script.js ).

Terakhir, mari kita cetak total skrip dan file CSS dan tulis tautannya ke dalam file terpisah:

print("Total script files in the page:", len(script_files))
print("Total CSS files in the page:", len(css_files))

# write file links into files
with open("javascript_files.txt", "w") as f:
    for js_file in script_files:
        print(js_file, file=f)

with open("css_files.txt", "w") as f:
    for css_file in css_files:
        print(css_file, file=f)

Setelah kamu menjalankannya, 2 file akan muncul, satu untuk tautan Javascript dan satu lagi untuk file CSS:

./X3NUX
Mereka teralu banyak mengusik, maka bunuh dan dan matilah sekarang juga!!!!
1 comment
Search
Menu
Theme
Share
Additional JS