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

            亚洲一级Av无码毛片久久精品| 久久国产精品一区二区| 四虎国产精品成人免费久久| 亚洲AV日韩AV天堂久久| 亚洲午夜久久影院| 色综合久久夜色精品国产| 久久久久人妻一区精品色| 久久久无码精品亚洲日韩软件| 久久伊人精品一区二区三区| 一本大道久久a久久精品综合| 中文国产成人精品久久亚洲精品AⅤ无码精品| 精品久久久无码人妻中文字幕 | 久久综合久久久| 一本色道久久综合| avtt天堂网久久精品| 99久久做夜夜爱天天做精品| 久久精品国产第一区二区| 久久综合九色综合网站| 无码8090精品久久一区| 色偷偷888欧美精品久久久| 奇米综合四色77777久久| 人妻无码精品久久亚瑟影视| 精品国产青草久久久久福利 | 久久高潮一级毛片免费| 国产精品久久久久无码av| 久久久无码精品亚洲日韩蜜臀浪潮| 久久久黄片| 亚洲AⅤ优女AV综合久久久| 亚洲综合精品香蕉久久网97 | 亚洲日本va中文字幕久久| 欧美激情精品久久久久| 99国产欧美久久久精品蜜芽| 久久亚洲欧美国产精品| 日本人妻丰满熟妇久久久久久| 久久婷婷国产剧情内射白浆| 一97日本道伊人久久综合影院| 久久久久18| 亚洲人AV永久一区二区三区久久| 国产精品一区二区久久精品无码 | 亚洲精品乱码久久久久久中文字幕| 午夜肉伦伦影院久久精品免费看国产一区二区三区 |