这是我们为 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)
我们的问题:
为什么
HTMLparser
必须首先调用该类?为什么
handle_data
调用该函数,该函数如何工作?global y
尽管y
在课堂上,为什么还是有必要的?