2016-05-03 15 views
1

xpathを理解するのに何らかのトラブルがあります。Scrapy Xpathはfile-extension.netから特定の要素を選択します

イムさんは、一例として、そのリンクを見てみましょうhttp://file-extension.net

からすべてのマジックナンバーをscrappしようとしている:私は取得したい

<table border=4 RULES=ROWS FRAME=HSIDES width=728> 
      <tr class="tabhead"> 
       <td></td> 
       <td><b>Website</b></td> 
       <td><b>&nbsp;EXT&nbsp;</b></td> 
       <td><b>&nbsp;Filetype description</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td> 
      </tr> 

<tr class="rre"><td>&nbsp;<img src="images/icon-filext.png" width="16" height="16"> &nbsp;</td><td><a href="http://filext.com/file-extension/C10">FILExt</a></td><td>&nbsp;<a class='fesl' href='file_extension_c10'>C10</a>&nbsp;</td><td>&nbsp;<a class='fesl' href='program_extension_irig'>IRIG</a> 106 <a class='fesl' href='program_extension_original'>Original</a> <a class='fesl' href='program_extension_recording'>Recording</a> <a class='fesl' href='program_extension_file'>File</a> (<a class='fesl' href='program_extension_range'>Range</a> <a class='fesl' href='program_extension_commanders'>Commanders</a> <a class='fesl' href='program_extension_council'>Council</a>)</td></tr> 

<tr class="rro"><td>&nbsp;<img src="images/icon-fsorg.png" width="16" height="16"> &nbsp;</td><td><a href="http://www.file-extensions.org/c10-file-extension">File Extensions</a></td><td>&nbsp;<a class='fesl' href='file_extension_c10'>C10</a>&nbsp;</td><td>&nbsp;<a class='fesl' href='program_extension_irig'>IRIG</a> 106 <a class='fesl' href='program_extension_original'>original</a> <a class='fesl' href='program_extension_recording'>recording</a> <a class='fesl' href='program_extension_file'>file</a></td></tr> 

<tr class="rre"><td>&nbsp;<img src="images/icon-dotwhat.png" width="16" height="16"> &nbsp;</td><td><a href="http://dotwhat.net/c10/9166/">DotWhat</a></td><td>&nbsp;<a class='fesl' href='file_extension_c10'>C10</a>&nbsp;</td><td>&nbsp;<a class='fesl' href='program_extension_split'>Split</a> <a class='fesl' href='program_extension_compressed'>Compressed</a> <a class='fesl' href='program_extension_archive'>Archive</a> <a class='fesl' href='program_extension_file'>File</a> <a class='fesl' href='program_extension_part'>Part</a> 10</td></tr> 

<tr class="rro"><td>&nbsp;<img src="images/icon-fsorg.png" width="16" height="16"> &nbsp;</td><td><a href="http://www.file-extensions.org/c10-file-extension">File Extensions</a></td><td>&nbsp;<a class='fesl' href='file_extension_c10'>C10</a>&nbsp;</td><td>&nbsp;<a class='fesl' href='program_extension_split'>Split</a> <a class='fesl' href='program_extension_multi'>Multi</a>-<a class='fesl' href='program_extension_volume'>volume</a> ACE <a class='fesl' href='program_extension_compressed'>compressed</a> <a class='fesl' href='program_extension_file'>file</a> <a class='fesl' href='program_extension_archive'>archive</a></td></tr> 

<tr class="rre"><td>&nbsp;<img src="images/icon-trid.png" width="16" height="16"> &nbsp;</td><td><a href="http://mark0.net/soft-trid-e.html">TrID</a></td><td>&nbsp;<a class='fesl' href='file_extension_c10'>C10</a>&nbsp;</td><td>&nbsp;<a class='fesl' href='program_extension_virtual'>Virtual</a> MC-10 <a class='fesl' href='program_extension_tape'>tape</a> <a class='fesl' href='program_extension_image'>image</a><br>&nbsp;<b><small>Header Hexdump</b>: <span class='hexdump'>&nbsp;55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 &nbsp;</span></small></td></tr> 

<tr class="rro"><td>&nbsp;<img src="images/icon-filext.png" width="16" height="16"> &nbsp;</td><td><a href="http://filext.com/file-extension/C10">FILExt</a></td><td>&nbsp;<a class='fesl' href='file_extension_c10'>C10</a>&nbsp;</td><td>&nbsp;<a class='fesl' href='program_extension_winace'>WinAce</a> <a class='fesl' href='program_extension_compressed'>Compressed</a> <a class='fesl' href='program_extension_file'>File</a> <a class='fesl' href='program_extension_split'>Split</a> <a class='fesl' href='program_extension_portion'>Portion</a> of <a class='fesl' href='program_extension_compressed'>Compressed</a> <a class='fesl' href='program_extension_file'>File</a> (e-<a class='fesl' href='program_extension_merge'>merge</a> <a class='fesl' href='program_extension_gmbh'>GmbH</a>)</td></tr> 

<tr class="rre"><td>&nbsp;<img src="images/icon-fileinfo.png" width="16" height="16"> &nbsp;</td><td><a href="http://www.fileinfo.com/extension/c10">FileInfo</a></td><td>&nbsp;<a class='fesl' href='file_extension_c10'>C10</a>&nbsp;</td><td>&nbsp;<a class='fesl' href='program_extension_winace'>WinAce</a> <a class='fesl' href='program_extension_split'>Split</a> <a class='fesl' href='program_extension_archive'>Archive</a> <a class='fesl' href='program_extension_part'>Part</a> 10</td></tr> 

      </table> 

:そのソースコードのhttp://file-extension.net/seeker/file_extension_c10

パートFiletype Tridの説明(16進値を持つもの)

問題はどのように各単語Filtype Descritionからのリンクです。 //a[text()="TrID"]/@href.a[@class="fesl" dosnt仕事

for sel in response.xpath('//table[@border=4]'): 
    hex = sel.xpath('//span[@class="hexdump"]/text()').extract_first(default='Rien t nul') 
    if len(hex) > 7: 
     ext = sel.xpath('//a[text()="TrID"]/@href.a[@class="fesl"]/text()').extract() 
     print "Nom : %s Hex %s " % (ext,hex) 

もちろん、これは私が望むものである:ここ

は私のコードです

If you find a link name wich contains "Trid" give me it's filedescription 

任意のアイデア?

答えて

0
'//td[./a[contains(text(), "TrID")]]/following-sibling::td[2]//text()' 

TrIDあなたが望む行の別のテキストを変更してください。

+0

Thnks a lot Sir! – Soroboruo

+0

あなたが大歓迎です、それがあなたを助けた場合、その答えを受け入れることを忘れないでください。 – eLRuLL