def open_ie(url, size=(900, 680)): """打开IE浏览器""" width, height = size ie = DispatchEx('InternetExplorer.Application') # 设置窗口style ie.Visible = 1 ie.ToolBar = 0 ie.AddressBar = 0 ie.MenuBar = 0 ie.StatusBar = 0 ie.Resizable = 0 ie.Width = width ie.Height = height # 设置打开的 URL ie.Navigate(url) win32gui.SetForegroundWindow(ie.HWND) #win32gui.SetWindowPos(ie.HWND, win32con.HWND_TOPMOST, win32gui.SetWindowPos( ie.HWND, 0, 0, 0, width, height, win32con.SWP_NOACTIVATE | win32con.SWP_NOOWNERZORDER | win32con.SWP_SHOWWINDOW) return ie
class Downloader(object): def __init__(self,url): self.url = "" self.ie = DispatchEx('InternetExplorer.Application') self.ie.Visible=0 self.url=url self.ie.Navigate(url) currentTime=int(time.time()) while self.ie.ReadyState != 4: if int(time.time()) > currentTime+10: logging.warning("time out after 10s") break time.sleep(1) self.fileName="" self.html="" def __del__(self): self.ie.Quit() def get_html(self): self.html = self.ie.Document.getElementsByTagName('html')[0].outerHTML return self.html def write_file(self): fileName=self.url.replace("http://","") fileName=fileName.replace("https://","") if fileName.find("?")>0: fileName=fileName[0:fileName.find("?")] fileName=fileName.replace("/","_")+"-"+time.strftime("%H-%M-%S") self.fileName=fileName file_obj=open(fileName+".html","wb") file_obj.write(self.html.encode('utf-8')) file_obj.close() def saveHtmlToFile(self,fileName): file_obj=open(fileName,"wb") file_obj.write(self.html.encode('utf-8')) file_obj.close()