• <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 閱讀(857) 評論(0)  編輯 收藏 引用

            奇米综合四色77777久久| 久久久久久a亚洲欧洲aⅴ| 亚洲国产成人乱码精品女人久久久不卡| 久久电影网一区| 综合久久给合久久狠狠狠97色 | 久久se精品一区二区影院 | 久久精品国产亚洲AV香蕉| 久久久久久毛片免费播放| 一级做a爰片久久毛片人呢| 久久精品国产AV一区二区三区 | 久久久久久久久波多野高潮| 精品国产乱码久久久久久郑州公司| 国产精品欧美久久久久无广告| 伊人色综合久久天天人手人婷 | 激情五月综合综合久久69| 亚洲精品蜜桃久久久久久| 国产成人精品久久亚洲| 99精品国产在热久久| 久久精品国产亚洲AV蜜臀色欲| 九九久久精品无码专区| 久久99国产综合精品女同| 老男人久久青草av高清| 久久久久亚洲AV无码专区桃色| 久久99精品国产99久久| 久久人人妻人人爽人人爽| 久久精品极品盛宴观看| 欧美亚洲日本久久精品| 国产视频久久| 久久国产成人午夜aⅴ影院 | 久久精品国产亚洲AV无码娇色| 久久国产免费直播| 久久精品亚洲AV久久久无码| 无码任你躁久久久久久| 美女久久久久久| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲精品tv久久久久久久久| 久久精品国产亚洲αv忘忧草| 欧美日韩精品久久久免费观看| 久久久久亚洲av综合波多野结衣 | 一本色道久久88综合日韩精品 | 免费精品99久久国产综合精品|