MSHTMLでHTMLページをパースする

MSHTMLでHTMLページを解析するには、まずPythonのmshtmlモジュールをインポートします。

import mshtml

次に、mshtmlモジュールのHTMLDocumentクラスを使用して、HTMLページを解析できます。まず、HTMLページをHTMLDocumentオブジェクトにロードする必要があります。

html = """
<html>
<head>
<title>Example Page</title>
</head>
<body>
<h1>Welcome</h1>
<p>This is an example page.</p>
</body>
</html>
"""
doc = mshtml.HTMLDocument()
doc.write(html)

HTMLDocumentオブジェクトを使って、HTML要素のアクセスと操作ができるようになりました。
例えば、ページのタイトルを取得するにはget_titleメソッドが利用できます:

title = doc.get_title()
print(title)  # Output: Example Page

getElementsByTagNameメソッドを使用してページ内のh1見出しとp段落を取得できます。

h1 = doc.getElementsByTagName('h1')[0].innerHTML
p = doc.getElementsByTagName('p')[0].innerHTML
print(h1)  # Output: Welcome
print(p)   # Output: This is an example page.

HTML ドキュメント全体を反復処理し、特定の種類の要素を検索してそれらを操作することもできます。たとえば、次のコードは、すべてのリンクを検索して、それらのテキストと URL を印刷します。

links = doc.getElementsByTagName('a')
for link in links:
text = link.innerHTML
url = link.href
print(text, url)

これは MSHTMLモジュールの機能の一部に過ぎず、必要に応じて、他のメソッドやプロパティを使用してHTMLページを解析、操作できます。

bannerAds