• <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, 評(píng)論 - 8, 引用 - 0
            數(shù)據(jù)加載中……

            [導(dǎo)入][python]在百度空間中插入HTML——python實(shí)現(xiàn)

            好了,直接貼代碼。
            首先名為 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

            然后就可以調(diào)用它了,實(shí)現(xiàn)插入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
            # 設(shè)置分類索引,注意,從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
            # 此處,可以設(shè)為要讀取的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()
            大家可以試試,其實(shí)很簡(jiǎn)單,就是獲取 InternetExplorer 后,就開始對(duì)里面的文檔進(jìn)行處理。

            關(guān)于 HTML DOM 可參考 http://www.w3school.com.cn/htmldom/index.asp 。

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

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

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


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            AV无码久久久久不卡网站下载| 久久九色综合九色99伊人| 亚洲日韩中文无码久久| 亚洲午夜无码久久久久小说| 久久综合亚洲欧美成人| 久久人人爽人人爽人人爽 | 国产精品成人99久久久久| 久久精品一区二区三区AV| 久久亚洲AV成人无码| 亚洲伊人久久成综合人影院| 久久精品国产一区| 精品免费久久久久国产一区| 久久99精品久久久久久久不卡| 久久天堂AV综合合色蜜桃网 | 婷婷综合久久狠狠色99h| 亚洲精品美女久久777777| 久久久99精品成人片中文字幕| 亚洲国产精品人久久| 久久天天躁狠狠躁夜夜2020 | 久久Av无码精品人妻系列 | 久久久精品日本一区二区三区| 国产A级毛片久久久精品毛片| 精品国产日韩久久亚洲| 伊人色综合九久久天天蜜桃 | 国产精品久久影院| 久久综合九色综合网站| 久久婷婷五月综合国产尤物app| 亚洲国产成人久久一区WWW| 婷婷久久香蕉五月综合加勒比| 国内精品伊人久久久影院| 久久AAAA片一区二区| 久久久久久国产a免费观看黄色大片 | 久久久久国产精品嫩草影院| 久久久久亚洲av无码专区喷水| 久久www免费人成看片| 午夜精品久久久久久久| 亚洲精品高清国产一线久久| 亚洲天堂久久久| 日本精品久久久久中文字幕8| 国产精品一久久香蕉国产线看观看| 久久精品国产一区二区电影|