Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- import re
- URL = 'https://metalligaen.dk/'
- # CSS-selector til det ønskede element
- SELECTOR = r'<section\s+class="league-score spacing-bottom">(.*?)</section>'
- # Sti hvor den færdige HTML skal gemmes
- OUTPUT_PATH = './www/league_score.html' # Opdater denne sti
- CUSTOM_CSS = """
- <style>
- *,*::before,*::after{box-sizing:border-box;}
- section{display:block;}
- h1{margin-top:0;margin-bottom:0.5rem;}
- table{border-collapse:collapse;}
- .spacing-bottom{margin-bottom:30px;}
- .league-score .league-score__heading{position:relative;margin-bottom:0;padding:8px 10px 5px;border-bottom:4px solid #006B84;overflow:hidden;color:white;font-size:18px;font-weight:bold;line-height:21px;text-transform:uppercase;}
- .league-score .league-score__heading:before{content:'';display:block;height:100%;width:70px;transform:skewX(-25deg);position:absolute;right:-10px;top:0;}
- .league-score .league-score__heading.league-score__heading--trophy:after{content:'';background-image:url("https://metalligaen.dk/assets/icons/trophy-icon.svg");background-repeat:no-repeat;background-position:center center;width:50px;height:100%;background-color:transparent;position:absolute;right:0;top:0;}
- .league-score .league-score-table{width:100%;text-align:center;}
- .league-score .league-score-table .league-score-table__head{font-size:14px;line-height:16px;}
- .league-score .league-score-table .league-score-table__head .league-score-table__head-row{background-color:rgba(255, 255, 255, 0.8);border-top:1px solid white;border-bottom:1px solid white;}
- .league-score .league-score-table .league-score-table__head .league-score-table__head-data{padding:7px 3px;}
- .league-score .league-score-table .league-score-table__head .league-score-table__head-data.league-score-table__head-data--not-centered{text-align:left;}
- .league-score .league-score-table .league-score-table__body{font-size:14px;line-height:16px;color:white;background-color:white;}
- .league-score .league-score-table .league-score-table__body .league-score-table__body-data{padding:7px;border:1px solid white;}
- .league-score .league-score-table .league-score-table__body .league-score-table__body-data:first-child{border-left:none;}
- .league-score .league-score-table .league-score-table__body .league-score-table__body-data:last-child{border-right:none;}
- .league-score .league-score-table .league-score-table__body .league-score-table__body-data.league-score-table__body-data--not-centered{text-align:left;}
- .league-score .league-score-table .league-score-table__body .league-score-table__body-data.league-score-table__body-data--long-text{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:1px;width:100%;}
- /*! CSS Used from: Embedded */
- .league-score .league-score-table .league-score-table__head{color:#006B84;}
- .league-score .league-score__heading{border-color:#006B84;}
- .league-score .league-score__heading,.league-score-table .league-score-table__body .league-score-table__body-data:first-child{background-color:#00A9D1;}
- .league-score .league-score__heading:before,.league-score .league-score-table .league-score-table__head,.league-score .league-score-table .league-score-table__body-row{background-color:#006B84;}
- /*! CSS Used from: Embedded */
- table td{padding:0;border:none;}
- </style>
- """
- def fetch_page(url):
- try:
- response = requests.get(url)
- response.raise_for_status()
- return response.text
- except requests.exceptions.RequestException as e:
- print(f"Fejl ved hentning af siden: {e}")
- return None
- def extract_element(html, selector):
- match = re.search(selector, html, re.DOTALL)
- if match:
- return match.group(0)
- else:
- print("Det ønskede element blev ikke fundet.")
- return None
- def create_html(content, custom_css):
- html_template = f"""
- <!DOCTYPE html>
- <html lang="da">
- <head>
- <meta charset="UTF-8">
- <title>League Score</title>
- {custom_css}
- </head>
- <body>
- {content}
- </body>
- </html>
- """
- return html_template
- def save_html(html, path):
- try:
- with open(path, 'w', encoding='utf-8') as file:
- file.write(html)
- print(f"HTML gemt som {path}")
- except IOError as e:
- print(f"Fejl ved skrivning til fil: {e}")
- def main():
- page_content = fetch_page(URL)
- if not page_content:
- return
- element_html = extract_element(page_content, SELECTOR)
- if not element_html:
- return
- final_html = create_html(element_html, CUSTOM_CSS)
- save_html(final_html, OUTPUT_PATH)
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement