• <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
            數(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í)很簡單,就是獲取 InternetExplorer 后,就開始對里面的文檔進(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 查看評論
            文章來源:http://hi.baidu.com/mirguest/blog/item/b42886f997fe1f77034f5634.html

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

            久久精品国产99久久久香蕉| 美女写真久久影院| 久久婷婷五月综合97色直播| 久久天天躁夜夜躁狠狠| 国内精品久久九九国产精品| 久久99精品久久久久久齐齐| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 性做久久久久久久久| 国内精品久久久久影院亚洲| 国产精品久久久天天影视| 女同久久| 久久久久久a亚洲欧洲aⅴ| 亚洲国产精品狼友中文久久久| 99久久精品国产麻豆| 一本久久综合亚洲鲁鲁五月天| 久久亚洲精品视频| 亚洲国产美女精品久久久久∴| 久久亚洲国产成人精品无码区| 精品综合久久久久久97超人| 一本色道久久综合| 久久久青草青青国产亚洲免观| 国产成人精品久久一区二区三区| 亚洲精品乱码久久久久久不卡| 国产精品热久久无码av| 国产精品久久精品| 国产高潮国产高潮久久久| 无码人妻久久一区二区三区| 亚洲国产精品综合久久一线| 久久久久国产精品三级网| 99久久免费只有精品国产| 91超碰碰碰碰久久久久久综合| 97久久天天综合色天天综合色hd| 伊人久久精品无码av一区| 四虎国产精品成人免费久久| 日日狠狠久久偷偷色综合96蜜桃| 久久亚洲国产精品123区| 麻豆国内精品久久久久久| 久久免费香蕉视频| 无码8090精品久久一区| 国内精品伊人久久久久妇| 亚洲午夜久久久影院|