乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      試用Web-HarvestJava開(kāi)源Web數(shù)據(jù)抽取...

       看見(jiàn)就非常 2014-10-01

                      
              Web-Harvest是一個(gè)Java開(kāi)源Web數(shù)據(jù)抽取工具。它能夠收集指定的Web頁(yè)面并從這些頁(yè)面中提取有
      用的數(shù)據(jù)。Web-Harvest主要是運(yùn)用了像XSLT,XQuery,正則表達(dá)式等這些技術(shù)來(lái)實(shí)現(xiàn)對(duì)text/xml的操作。
             個(gè)人感覺(jué),這個(gè)工具的設(shè)計(jì)構(gòu)想很好,利用寫(xiě)好的xml腳本把指定的html轉(zhuǎn)化成xml,然后再利用xml
      解析器從中抽取信息。這樣在編寫(xiě)網(wǎng)頁(yè)信息抽取工具時(shí),我們就不用擔(dān)心網(wǎng)頁(yè)格式的變化,會(huì)影響到信息
      抽取的結(jié)果,因?yàn)檎麄€(gè)抽取信息的部分都是通過(guò)配置對(duì)應(yīng)的腳本實(shí)現(xiàn)的,我們只要修改腳本就可以了,不
      用更改程序代碼。
       下面是我按照這個(gè)開(kāi)源工具自己帶的例子改寫(xiě)的一個(gè)提取yahoo搜索信息的腳本,用Web-Harvest執(zhí)行它
      ,可以提取以"KMS"為關(guān)鍵字在yahoo搜索引擎上搜索得到的結(jié)果。

      腳本xml:
      <?xml version="1.0" encoding="UTF-8"?>
      <config charset="ISO-8859-1">
         
          <include path="functions.xml"/>
         
          <var-def name="search">KMS</var-def>
       <var-def name="url">
           <template>http://search.yahoo.com/search?p=${search}</template>
       </var-def>
                 
          <!-- collects all tables for individual products -->
          <var-def name="products">   
              <call name="download-multipage-list">
                  <call-param name="pageUrl"><var name="url"/></call-param>
                  <call-param name="nextXPath">//big[.='Next']/a/@href</call-param>
                  <call-param name="itemXPath">//ol/li</call-param>
                  <call-param name="maxloops">10</call-param>
              </call>
          </var-def>
         
          <!-- iterates over all collected products and extract desired data -->
          <file action="write" path="myyahoo.xml" charset="UTF-8">
              <![CDATA[ yahoo ]]>
              <loop item="item" index="i">
                  <list><var name="products"/></list>
                  <body>
                      <xquery>
                          <xq-param name="item"><var name="item"/></xq-param>
                          <xq-expression><![CDATA[
                                  let $name := data($item//div[1]/a[1])
                                  let $src := data($item//div[1]/a[1]/@href)
                                  let $abs := data($item//div[2])
                                      return
                                          <product>
                                              <name>{normalize-space($name)}</name>
                                              <src>{normalize-space($src)}</src>
                                              <abs>{normalize-space($abs)}</abs>
                                          </product>
                          ]]></xq-expression>
                      </xquery>
                  </body>
              </loop>
              <![CDATA[ yahoo ]]>
          </file>

      </config>

      結(jié)果xml:
      <yahoo><product>
         <name>KMSResearch</name>
         <src>http://rds.yahoo.com/_ylt=A0geuodL05lFpaEArQxXNyoA;_ylu=X3oDMTB2b2gzdDdtBGNvb
      G8DZQRsA1dTMQRwb3MDMQRzZWMDc3IEdnRpZAM-/SIG=11fph2etm/EXP=1167795403/**http%3a//www.kmshaircare.com/</src>
         <abs>Learn about each subbrand which has its own purpose and look to support your way of
      life, mood, or whim.</abs>
      </product>
      .
      .
      .
      <product>
         <name>Summer - KMS promotional items</name>
         <src>http://rds.yahoo.com/_ylt=A0geupZ705lFwVkAMQZXNyoA;_ylu=X3oDMTExYm1vY2p0BGNvb
      G8DZQRsA1dTMQRwb3MDMTAwBHNlYwNzcgR2dGlkAw--/SIG=11q4tb45p/EXP=1167795451/**http%3a//kms-fra.com/en/products/sommer/</src>
         <abs>KMS Design. Special designs. Onpacks and Inpacks ... KMS presents the smallest solar
      charger available. ... The KMS SoftFrisbee - this UFO is foldable! ...</abs>
      </product></yahoo>

              如果你對(duì)xml,xpath,xquery這些技術(shù)都有了解,在看過(guò)Web-Harvest的幫助(http://web-harvest./manual.php)后,相信上面的腳本xml應(yīng)該不難理解。
             在整個(gè)試用過(guò)程中,我也發(fā)現(xiàn)了Web-Harvest的一些問(wèn)題,比如他使用tagsoup對(duì)html網(wǎng)頁(yè)進(jìn)行清洗
      ,會(huì)造成一些格式不太規(guī)范的網(wǎng)頁(yè)數(shù)據(jù)丟失(比如google的搜索頁(yè)面),希望Web-Harvest的開(kāi)發(fā)者能夠
      注意到這個(gè)問(wèn)題,畢竟現(xiàn)在能夠嚴(yán)格遵守HTML4.0規(guī)范的網(wǎng)頁(yè)并不多,更多的是xml出現(xiàn)之前就已經(jīng)存在
      的網(wǎng)頁(yè)。現(xiàn)在的web信息抽取使用xml技術(shù)實(shí)現(xiàn)無(wú)疑是最理想的,而Web-Harvest已經(jīng)為我們搭建了一個(gè)
      可供選擇的抽取模型,如何解決對(duì)大量不規(guī)范網(wǎng)頁(yè)的無(wú)損xml轉(zhuǎn)換,將是這個(gè)工具能否運(yùn)用到實(shí)際中的關(guān)
      鍵環(huán)節(jié)。
              還有,由于本人水平有限,在利用Web-Harvest抽取中文的網(wǎng)頁(yè),還沒(méi)發(fā)現(xiàn)完全沒(méi)有亂碼的網(wǎng)頁(yè)。
              這篇文章的目的是希望能夠拋磚引玉,能有更多的人關(guān)注Web-Harvest這個(gè)工具。因?yàn)閃eb-Harvest
      還有很多高級(jí)的應(yīng)用我還沒(méi)有研究;還有很多需要改進(jìn)的地方。但它至少給我一個(gè)啟示,完全結(jié)構(gòu)化的,
      動(dòng)態(tài)化的網(wǎng)頁(yè)信息抽取是可以實(shí)現(xiàn)的,而且并不難。
      參考文獻(xiàn):
      Web-Harvest:http://web-harvest./
      XPath教程:http://www./xxl/XPathTutorial/Output_chi/introduction.html
      XQuery教程:http://www./tech/school/xquery/default.asp

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多