• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 41, 文章 - 8, 評論 - 8, 引用 - 0
            數據加載中……

            [導入][python]在百度空間中插入HTML——python實現

            好了,直接貼代碼。
            首先名為 ie.py 的代碼:
             

            # -*- coding:utf-8 -*-
            import time
            from win32com.client import DispatchEx

            def ExistIE(url):
                ShellWindowsCLSID = '{9BA05972-F6A8-11CF-A442-00A0C90A8F39}'
                ies=DispatchEx(ShellWindowsCLSID)
                if len(ies)==0:
                    return None
                for ie in ies:
                    if ie.LocationURL==url:
                        return ie
                return None

            def NewIE(url):
                ie=DispatchEx("InternetExplorer.Application")
                ie.Navigate(url)
                return ie

            def openIE(url):
                """
                >>> myie = ie.openIE()
                """
                ie=ExistIE(url)
                if ie==None:
                    ie=NewIE(url)
                return ie

            def WaitIE(ie):
                while ie.Busy:
                    time.sleep(1)

            def Visible(ie):
                ie.Visible=1-ie.Visible

            def GetBody(ie):
                WaitIE(ie)
                return ie.Document.body

            def GetNodes(parentNode,tag):
                """
                >>> coldiv=GetNodes(body,"div")
                """
                childNodes=[]
                for childNode in parentNode.getElementsByTagName(tag):
                    childNodes.append(childNode)
                return childNodes

            def NodeByAttr(Nodes,nodeattr,nodeval):
                """
                >>> div_id_editor=NodeByAttr(coldiv,"id","editor_ifr")
                """
                for node in Nodes:
                    if str(node.getAttribute(nodeattr))==nodeval:
                        return node
                return None

            def SetNode(node,val):
                node.innerHTML=val

            if __name__=="__main__":
                url="about:blank"
                myie=NewIE(url)
                Visible(myie)
                mybody=GetBody(myie)
               
                SetNode(mybody,"<div>Genius</div>"*3)
                coldiv=GetNodes(mybody,"div")
                SetNode(coldiv[0],"<p>Hello</p>"*10)
                coldiv[0].SetAttribute("id","test")
                div_id_test=NodeByAttr(coldiv,"id","test")
                div_p=GetNodes(div_id_test,"p")
                for div_per_p in div_p:
                    print div_per_p.innerHTML

            然后就可以調用它了,實現插入HTML的功能:

            #-*- coding:utf-8 -*-
            import ie

            url="http://hi.baidu.com/mirguest/creat/blog/"

            myie=ie.openIE(url)
            #ie.Visible(myie)
            mybody=ie.GetBody(myie)

            # Header
            input_ids=ie.GetNodes(mybody,"input")
            input_id_spBlogtitle=ie.NodeByAttr(input_ids,"id","spBlogTitle")
            if len(input_id_spBlogtitle.value)==0:
                input_id_spBlogtitle.value="Test_Generated_By_Python"

            # Catalogy
            # 設置分類索引,注意,從0開始
            select_ids=ie.GetNodes(mybody,"select")
            select_id_spBlogName=ie.NodeByAttr(select_ids,"id","spBlogCatName")
            select_id_spBlogName.selectedIndex=2

            # Editor
            iframe_ids=ie.GetNodes(mybody,"iframe")
            iframe_id_editor=ie.NodeByAttr(iframe_ids,"id","tangram_editor_iframe_TANGRAM__1")
            iframe_id_editor.click()
            sonbody=iframe_id_editor.contentWindow.Document.body
            # Read HTML Source
            # 此處,可以設為要讀取的HTML源文件。
            #f=open(r"..\myhtml.html","r")
            #content=f.read().decode("utf-8")
            #f.close()
            # Set HTML Source
            content=sonbody.innerHTML+"<div class='line'></div>"
            ie.SetNode(sonbody,content)

            # Submit
            #div_ids=ie.GetNodes(mybody,"div")
            #div_id_btnbox=ie.NodeByAttr(div_ids,"id","btn-box")
            #submitbtn=div_id_btnbox.childNodes(0)
            #submitbtn.click()
            大家可以試試,其實很簡單,就是獲取 InternetExplorer 后,就開始對里面的文檔進行處理。

            關于 HTML DOM 可參考 http://www.w3school.com.cn/htmldom/index.asp 。

            另外就是 IE 的,http://msdn.microsoft.com/en-us/library/aa752084(VS.85).aspx 。

            閱讀全文
            類別:Python 查看評論
            文章來源:http://hi.baidu.com/mirguest/blog/item/b42886f997fe1f77034f5634.html

            posted on 2011-02-10 11:52 mirguest 閱讀(852) 評論(0)  編輯 收藏 引用

            精品久久久久久国产| 性做久久久久久久| 97久久精品人人澡人人爽| 一级女性全黄久久生活片免费 | 精品国产日韩久久亚洲| 好久久免费视频高清| 久久久久久久综合日本| 亚洲国产精久久久久久久| 色婷婷久久久SWAG精品| 亚洲精品高清国产一久久| 亚洲欧洲中文日韩久久AV乱码| 久久久久亚洲Av无码专| 久久久久人妻一区二区三区vr| a级毛片无码兔费真人久久| 99久久精品国产毛片| 久久久噜噜噜久久中文福利| 久久WWW免费人成—看片| 久久国产V一级毛多内射| 日韩精品无码久久久久久| 色婷婷久久综合中文久久蜜桃av | 国产成人久久激情91| 国内精品久久久久久久97牛牛 | 996久久国产精品线观看| 四虎影视久久久免费观看| 国产AV影片久久久久久| 99麻豆久久久国产精品免费| 国产精品久久久久久久app| 九九热久久免费视频| 99久久精品免费国产大片| 97精品国产91久久久久久| 中文字幕热久久久久久久| 日韩精品久久久久久久电影蜜臀 | 日本三级久久网| 美女久久久久久| 午夜精品久久久久久中宇| 无码八A片人妻少妇久久| 久久这里只有精品首页| 久久人妻少妇嫩草AV无码蜜桃| 精品久久久久久无码人妻热| 国产视频久久| 女同久久|