2015-09-06 70 views
1

我试图抓取详细信息,如联系人,位置,电话和价格。 html如下。该列表是一个动态列表,因此有时候只有少数例如联系人和位置的项目可能会出现在网页上,而有时它们可​​能会全部出现。我想我可以使用图标标签来获取所需的文本,但无法找到任何文档。任何帮助将不胜感激。 在此先感谢。需要帮助Scrapy使用祖先从列表中删除项目

 <div class="detail-all-label"> 
     <i class="abc-Contact"></i> 
     <div class="detail-all-text"><b>Contact</b>: Ram Bahadur</div> 
    </div> 
      <div class="detail-all-label"> 
    <i class="abc-font abc-Location"></i> 
    <div class="detail-all-text"><b>Location</b>: Kathmandu</div> 
    </div> 
<div class="detail-all-label"> 
    <i class="abc-font abc-Website"></i> 
    <div class="detail-all-text"><b>Website</b>: itworkremotely</div> 
    </div> 
      <div class="detail-all-label"> 
    <i class="abc-font abc-Phone"></i> 
    <div class="detail-all-text"><b>Phone</b>: 3283550121</div> 
    </div> 
      <div class="detail-all-label"> 
    <i class="abc-font abc-Rate"></i> 
    <div class="detail-all-text"><b>Rate</b>: €700 - 10000</div> 
    </div> 

回答

2

你可以得到所有具有divclass="detail-all-text"内前b元素的细节值:

for detail in response.xpath("//div[@class='detail-all-text']/b"): 
    name = detail.xpath("text()").extract()[0] 
    value = detail.xpath("following-sibling::text()")[0] 

    print name, value 
+0

感谢alecxe!正是我需要的。 – pso