【发布时间】:2014-01-14 15:28:59
【问题描述】:
我想根据它们的(前面的)<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'] 重写它?
【问题讨论】:
-
只是一个评论,我强烈建议将电话号码放在一个元素中,而不是希望在事后出现文本。不同的浏览器可能会以不同的方式解释 DOM,并且可能会搞砸你的代码。
标签: python html python-2.7 xpath scrapy