0

これは、html 解析用に作成したプログラムです。それは完全に機能します。

ネットでデモ プログラムを見つけ、必要に応じて修正しました。しかし、私たちはそれがどのように機能するかを理解していません。

import urllib
from urllib.request import urlopen


address='http://www.iitb.ac.in/acadpublic/RunningCourses.jsp?deptcd=EE&year=2012&semester=1'
print(address)
source= urlopen(address).read()
source=str(source)


from html.parser import HTMLParser

str1 = input('Enter name of prof:')

class MyHTMLParser(HTMLParser):
    y=" "
    def handle_data(self, data):
        flag=0
        x=str(data)
        for i in range(len(x)):
            if (x[i]=='\\'):
                flag=1
                break
        if(flag==0) :
            if(x==str1):
                global y
                print("Name of professor:",x)
                print("Name of course:",y) 
            y=x

parser = MyHTMLParser(strict=False)
parser.feed(source)

私たちの質問:

  1. HTMLparserそもそもなぜクラスを呼び出す必要があるのですか?

  2. なぜその関数handle_dataが呼び出され、その関数はどのように機能するのですか?

  3. クラス自体にいるglobal yのになぜ必要なのですか?y

4

1 に答える 1