HTMLパーサ-行方不明の資産と壊れたリンクのためにHTMLファイルをスキャンする方法
こんにちは、コーダ.
記事は、私が実際のプロジェクトのファイルを使用する前に、不足している資産と壊れたリンクのために静的にHTMLファイルを分析するのに用いている単純な、オープンソースツールを提示します.このHTMLパーサーは基本的に美しいスープの上のpython 3ラッパー、HTMLファイルとXMLSのための一般的なOSS構文解析ライブラリです.ソースコードは、EULAライセンスの下でリリースされたGithubにあります.
機能 オープンソース- elearningのために使用することができます すべてのHTMLファイルをスキャン 各ページの行方不明の資産を検出 壊れたリンクを検出し、正しいパスを提案する 許容できる実行時間
Html Parser - ソースコード
Sample Output - 実際のプロジェクトからキャプチャ
EULA License - ソロ開発者、中小企業、スタートアップ、およびNGO
ツールを使うには2つのものを指定する必要があります. HTMLファイルが保存されるフォルダ すべてのJS、CSS、イメージ.. この簡単な設定をしたら、端末でスクリプトを呼び出すことができます.
情報をスキャンして、相関させるために、ツールはいくつかの構造を使用して、関連情報を保存して、再利用して、また、検出されたHTMLファイルの上で単純な操作を実行します.
ホットイットワークス キーがファイル名である地図を定義する 関連する情報が格納され更新される各ファイルにデータ構造を関連付ける 各HTMLファイルのプロパティとリンクをスキャンされて 各ファイルの情報を検証し、ディスクを見て行方不明の資産を保存する
関連する関数とコードチャンクは以下の通りです.何か関連が不足しているならば、コメントセクションでそれを尋ねてください.
ディレクトリからファイルを読み込む
結果は各ファイルに関連する構造体に注入される.
情報が保存されると、BSオブジェクトを使用してDOMを横断し、要素上の突然変異を実行できます.
実際の生産出力を可視化するには、パブリックリポジトリに保存されたサンプルファイルにアクセスしてください.check assets - output
Beautiful Soup - 官庁長官
AppSeed - より多くのツールとスターター
記事は、私が実際のプロジェクトのファイルを使用する前に、不足している資産と壊れたリンクのために静的にHTMLファイルを分析するのに用いている単純な、オープンソースツールを提示します.このHTMLパーサーは基本的に美しいスープの上のpython 3ラッパー、HTMLファイルとXMLSのための一般的なOSS構文解析ライブラリです.ソースコードは、EULAライセンスの下でリリースされたGithubにあります.
Thank you! Content provided by AppSeed - App Generator.
機能
Html Parser - ソースコード
Sample Output - 実際のプロジェクトからキャプチャ
EULA License - ソロ開発者、中小企業、スタートアップ、およびNGO
ツールを使うには2つのものを指定する必要があります.
$ python ./check-assets.py
HTMLパーサ-関連する部分
情報をスキャンして、相関させるために、ツールはいくつかの構造を使用して、関連情報を保存して、再利用して、また、検出されたHTMLファイルの上で単純な操作を実行します.
ホットイットワークス
ソースコード
関連する関数とコードチャンクは以下の通りです.何か関連が不足しているならば、コメントセクションでそれを尋ねてください.
ディレクトリからファイルを読み込む
def get_files( aPath ):
FILES_LIST = []
for (root, dirs, files) in walk( aPath ):
FILES_LIST.extend( files )
break
return FILES_LIST
各ファイルの情報を保存する構造/クラスclass TMPL:
# constructor
def __init__(self, aFile=''):
self.file = aFile
self.title = ''
self.css = [] # All CSS Files
self.js = [] # All JS Files
self.img = [] # All Images
self.links = [] # All Links
self.err = [] # used to report missing assets
self.err_links = [] # used to report missing assets
# Used to have a string representation
def __repr__(self):
return "" + self.file + ' some other info'
各ファイルの美しいスープオブジェクトを開始するdef get_bs( aFile ):
minified = htmlmin.minify( file_load( aFile ), remove_empty_space=True)
return bs(minified,'html.parser')
スキャンの各ファイルのリンクと資産結果は各ファイルに関連する構造体に注入される.
# BS object is constructed and available for queries
soup = get_bs( FULL_PATH )
# Scan for CSS files
tmpl.css = get_css( soup )
# # Scan for JS files
tmpl.css = get_js( soup )
...
リンクと画像は、単純なヘルパーを使用して同じ方法でスキャンされます.情報が保存されると、BSオブジェクトを使用してDOMを横断し、要素上の突然変異を実行できます.
HTMLパーサー-サンプル出力
実際の生産出力を可視化するには、パブリックリポジトリに保存されたサンプルファイルにアクセスしてください.check assets - output
(env) PS > python.exe .\check-assets.py
Files (2)
['apps-calendar.html', 'index.html']
***** ***** *****
PROCESSING --> apps-calendar.html | files (1) remaining
PROCESSING --> index.html | files (0) remaining
PROCESSING --> apps-calendar.html
ERR - Missing Asset -> /static/assets/css/classic-horizontal/style-ERROR.css
ERR - Missing Asset -> /static/assets/images/logo-mini-ERROR.svg
PROCESSING --> index.html
ERR - Missing Asset -> /static/assets/images/favicon-ERROR.png
|
|- apps-calendar.html
| |
| |--- CSS: 6 file(s)
| | /static/assets/vendors/mdi/css/materialdesignicons.min.css
| | /static/assets/vendors/css/vendor.bundle.base.css
| | /static/assets/vendors/fullcalendar/fullcalendar.min.css
| | /static/assets/css/classic-horizontal/style.css
| | /static/assets/css/classic-horizontal/style-ERROR.css
| | /static/assets/images/favicon.png
|
...
Pages with errors: 2
|
|- apps-calendar.html
| | | /static/assets/css/classic-horizontal/style-ERROR.css
| | | /static/assets/images/logo-mini-ERROR.svg
|
|- index.html
| | | /static/assets/images/favicon-ERROR.png
ツールは簡単に既存のコアを使用してライブウェブサイトに拡張することができます.いずれかの場合に便利な、コメントのセクションで機能を提案するか、またはGithubの広報を押してください.Thank you! - For more resources, please access:
Beautiful Soup - 官庁長官
AppSeed - より多くのツールとスターター
Btw, my (nick) name is Sm0ke and I'm pretty active also on .
Reference
この問題について(HTMLパーサ-行方不明の資産と壊れたリンクのためにHTMLファイルをスキャンする方法), 我々は、より多くの情報をここで見つけました https://dev.to/sm0ke/html-parser-how-to-scan-html-files-for-missing-assets-and-broken-links-2mkeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol