2016-04-29 10 views
0

私はループに今herePython xPath:Iterationで値を取得する方法は?

<div class="con">      
               <div style="float:left; width:100px; text-align:center; height:100px"><div class="photoBox" style=" overflow:hidden; width:84px; height:84px;"><a href="/b/mesa_az/1220832011"><img src="/theme/default/images/no_img/business/b__80x80"></a></div></div> 
           <div style="float:left; padding-left:10px; width:550px;"> 
           <div style="float:left;"><h3><a href="/b/mesa_az/1220832011"><b>Stamps</b> Automotive Enterprises</a></h3> </div><div style="float:right;"><em>Rating:</em> <span style="color:#333; font-size:14px; font-weight:bold;">0</span> &nbsp; <img src="/theme/default/images/star/stars_00.gif" width="74" height="15"></div> 

               <div id="clear"> 
         <div style="float:left"> 
         <a href="/c/mesa_az/locindustry/">Local Industry</a>/<a href="/c/mesa_az/locindustry/heavyconstruct/">Heavy Construction</a><br> 
                     <address>15001 S Power Rd # 1 <br> 
       Mesa, AZ 85212     </address> 
        </div> 
            <div style="float:right;"><h5>Click: 8 &nbsp; Reviews: 0 </h5></div> 




           </div> 
           </div> 

        </div> 

からリストを取得しています、私はテキストクールビズ名があるかどう検索する必要があり、それは私が次のことをしようとしていますが、それはそれぞれにすべてのリンクを取得していますURL

のget反復:

b_list = tree.xpath('//*[@class="con"]') 
    for biz in b_list: 
     link = biz.xpath('//h3/text()') 
     print(link) 

どのように私はbizDOMに関してトラバースするxPathをさせることができますか?

おかげ

答えて

1

インナーXPathはコンテキスト固有であることをドットで開始することがあります。また、あなたはあなたにもノードの子のテキストを取得したい場合.text_content()を使用する必要があります。

biz.findtext('h3') 
+0

それは '[]'のみ出力します。

b_list = tree.xpath('//*[@class="con"]') for biz in b_list: link = biz.xpath('.//h3')[0].text_content() print(link) 

ます。またfindtext()メソッドを使用することができます。 – Volatil3

+0

@ Volatil3確かに更新されました。 – alecxe

+0

あなたの解決策が機能していないので、私は元のHTMLソースを使って質問をupdatredしました – Volatil3

関連する問題