我想根据他们的(前面的)<label>
属性来获取项目,例如:
<div>
<ul>
<li class="phone">
<label>Mobile</label>
312-999-0000
<div>
<ul>
<li class="phone">
<label>Home</label>
312-999-0001
我想将第一个数字放在“移动”列/列表中,将第二个数字放在主页列表中。我目前有代码抓取它们,但我不知道获取标签的正确语法,因为它在源中。这就是我现在正在使用的:
for target in targets:
item = CrawlerItem()
item['phonenumbers'] = target.xpath('div/ul/li[@class="phone"]/text()').extract()
如何使用标签为item ['mobilephone']和item ['homephone']重写该内容?
答案 0 :(得分:2)
我在完成问题时找到了答案,并认为我应该分享它:
item['mobilephone'] = target.xpath('div/ul/li/label[contains (text(),"Mobile")]/following-sibling::text()').extract()
item['officephone']= target.xpath('div/ul/li/label[contains (text(),"Office")]/following-sibling::text()').extract()