我是一个使用Scrapy获取各种数据的菜鸟,需要一些帮助。我浏览了论坛,但未能从示例中找出解决问题的方法。这是HTML
<section>
<div class="profile-details" >
<div >
<h5 style="margin-bottom:0px;">Contact Details</h5><div class="profile-phone">
<table>
<tbody>
<tr>
<th>Phone</th>
<th class='phone-number'>XX XXX XXXX</th>
</tr>
对于电话号码,我有这个
item['phone'] = content.select('//*[@id="listing"]/section/div[1]/div/div[1]/table/tbody/tr[1]/th[2]').extract()
将<th class="phone-number">XX XXX XXXX</th>
返回“电话”字段
但是,我只想返回'XX XXX XXXX'。 following-sibling
是正确的方法,和/或我如何更改代码以仅检索'XX XXX XXXX'?
谢谢,不要害怕菜鸟!
答案 0 :(得分:1)
您的html
无效。无论如何,您需要text()
功能:
item['phone'] = content.select('//*[@id="listing"]/section/div[1]/div/div[1]/table/tbody/tr[1]/th[2][@class="phone-number"]/text()').extract()