我刚开始在python中使用scrapy库进行网页抓取,而且我遇到了一些问题。
这是示例xml源:
<div id="main">
<div class="main-box">
...
...
<div class="heading-box">
<h1 class="title">
<cufon class="cufon cufon-canvas" alt="London " style="width: 87px; height: 18px;">
<cufon class="cufon cufon-canvas" alt="Bridge" style="width: 69px; height: 18px;">
</h1>
</div>
...
...
</div>
我想提取所有alt
代码中的cufon
属性中的文字(在本例中为伦敦桥)。
这是从Firebug
复制的cufon标记的XPath:
/html/body/div[1]/div[3]/div[2]/div[1]/div[1]/h1/cufon[1]
以下是我编写的代码:
def parse_item(self, response):
selector = Selector(response)
item = SamplespiderItem()
item['name'] = selector.xpath('/html/body/div[1]/div[3]/div[2]/div[1]/div[1]/h1/cufon[1]/@alt').extract()
从教程中,我读到我们可以使用@
来访问属性,但我得到的输出是空列表。
有人可以帮我解决这个问题吗?