Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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()