Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでのハイパーテキストマークアップ言語のサポート?


Pythonには、html.parserモジュールのHTMLParserクラスを介してHTMLファイルを処理する機能があります。 HTMLタグの性質、タグの位置、およびタグの他の多くのプロパティを検出できます。 HTMLファイルに存在するデータを識別してフェッチすることもできる関数があります。

以下の例では、HTMLParserクラスを使用して、クラスで定義したタグとデータのみを処理できるカスタムパーサークラスを作成する方法を示しています。ここでは、開始タグ、終了タグ、およびデータを処理しています。

以下は、Pythonカスタムパーサーによって処理されるhtmlです。

<html>
<br>
<head>
<br>
<title>welcome to Tutorials Point!</title>
<br>
</head>
<br>
<body>
<br>
<h1>Learn anything !</h1>
<br>
</body>
<br>
</html>

以下は、上記のファイルをパーサーし、カスタムパーサーに従って結果を出力するプログラムです。

from html.parser import HTMLParser
import io
class Custom_Parser(HTMLParser):
   def handle_starttag(self, tag, attrs):
      print("Line and Offset ==", HTMLParser.getpos(self))
      print("Encountered a start tag:", tag)


   def handle_endtag(self, tag):
      print("Line and Offset ==", HTMLParser.getpos(self))
      print("Encountered an end tag :", tag)


   def handle_data(self, data):
      print("Line and Offset ==", HTMLParser.getpos(self))
      print("Encountered some data :", data)

parser = Custom_Parser()

stream = io.open("E:\\test.html", "r")
parser.feed(stream.read())

出力

上記のコードを実行すると、次の結果が得られます-

Line and Offset == (1, 0)
Encountered a start tag: html
Line and Offset == (1, 6)
Encountered some data :

Line and Offset == (2, 0)
Encountered a start tag: head
Line and Offset == (2, 6)
Encountered some data :

Line and Offset == (3, 0)
Encountered a start tag: title
Line and Offset == (3, 7)
Encountered some data : welcome to Tutorials Point!
Line and Offset == (3, 34)
Encountered an end tag : title
Line and Offset == (3, 42)
Encountered some data :

Line and Offset == (4, 0)
Encountered an end tag : head
Line and Offset == (4, 7)
Encountered some data :

Line and Offset == (5, 0)
Encountered a start tag: body
Line and Offset == (5, 6)
Encountered some data :

Line and Offset == (6, 0)
Encountered a start tag: h1
Line and Offset == (6, 4)
Encountered some data : Learn anything !
Line and Offset == (6, 20)
Encountered an end tag : h1
Line and Offset == (6, 25)
Encountered some data :

Line and Offset == (7, 0)
Encountered an end tag : body
Line and Offset == (7, 7)
Encountered some data :

Line and Offset == (8, 0)
Encountered an end tag : html

  1. OpenCVを使用したPythonでの行検出?

    この投稿では、ハフ変換と呼ばれる手法を使用して、画像内の線を検出する方法を学習します。 ハフ変換? ハフ変換は、単純な形状を数学的な形式で表現できる場合に、その形状を検出するための特徴抽出方法です。少し壊れたり歪んだりしても、なんとか形を検出できます。ラインに対してどのように機能するかを見ていきます。 「単純な」形状とは、いくつかのパラメータで表現できる形状です。たとえば、線は2つのパラメータ(傾き、切片)のみで表すことができ、円には3つのパラメータ(中心の座標と半径(x、y、r))があります。 ハフ変換を使用して画像から線を検出する 線は方程式で表すことができます-またはパラメトリック

  2. Pythonクラスブラウザのサポート

    pyclbr Pythonライブラリのモジュールは、Pythonモジュールで定義された関数、クラス、およびメソッドに関する情報を抽出します。情報は、モジュールをインポートするのではなく、Pythonソースコードから抽出されます。 このモジュールはreadmodule()を定義します 辞書マッピングモジュールレベルのクラス名をクラス記述子に返す関数。この関数は、モジュール名をパラメーターとして受け取ります。パッケージ内のモジュールの名前である可能性があります。その場合、pathはsys.pathの前に付けられた一連のディレクトリパスであり、モジュールのソースコードを見つけるために使用されます