#coding=utf8'''題目一: 寫一個網頁數據操作類。完成下面的功能:提示:需要用到urllib模塊get_httpcode()獲取網頁的狀態碼,返回結果例如:200,301,404等 類型為intget_htmlcontent() 獲取網頁的內容。返回類型:strget_linknum()計算網頁的鏈接數目。'''import urllibimport reclass mywebapp(object): def __init__(self): pass def get_httpcode(self,url): PRint url if not url.startswith('http://') and not url.startswith('https://'): raise TypeError,'Url must start with http:// or https:// .....' res = urllib.urlopen(url) page_status = res.getcode() print 'http status is %d' %page_status def get_htmlcontent(self,url): if not (url.startswith('http://') or url.startswith('https://')): raise TypeError, 'Url must start with http:// or https:// .....' content = urllib.urlopen(url) print content.read() def get_linknum(self,url): content = urllib.urlopen(url) print 'url is start' replace_content = content.read().replace(' ','') urls = re.findall(r'(http|ftp|https):////[/w/-_]+(/.[/w/-_]+)+([/w/-/.,@?^=%&:/~/+#]*[/w/-/@?^=%&/~/+#])?',replace_content,re.I) for i in urls : print i #print len(content.split('<a href=')) - 1myapp = mywebapp()print myapp.get_httpcode("http://www.baidu.com")print myapp.get_htmlcontent('http://www.baidu.com')print myapp.get_linknum('http://www.baidu.com')