首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scrapy从div中获取href

Scrapy从div中获取href
EN

Stack Overflow用户
提问于 2016-03-29 18:15:37
回答 1查看 21.3K关注 0票数 10

我开始在一个小项目中使用Scrapy,但我无法提取链接。每次找到类时,我只得到"[]“,而不是url。我是不是漏掉了什么明显的东西?

代码语言:javascript
复制
sel = Selector(response)
for entry in sel.xpath("//div[@class='recipe-description']"):
    print entry.xpath('href').extract()

来自网站的示例:

代码语言:javascript
复制
<div class="recipe-description">
    <a href="http://www.url.com/">
        <h2 class="rows-2"><span>SomeText</span></h2>
    </a>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-29 19:06:14

您的xpath查询错误

代码语言:javascript
复制
for entry in sel.xpath("//div[@class='recipe-description']"):

在这一行中,您实际上是在迭代没有任何Href属性的div

为了使其正确,您应该在div中选择achor元素

代码语言:javascript
复制
for entry in sel.xpath("//div[@class='recipe-description']/a"):
    print entry.xpath('href').extract()

最好的解决方案是直接在for循环中提取href属性

代码语言:javascript
复制
for href in sel.xpath("//div[@class='recipe-description']/a/@href").extract():
    print href

为简单起见,您还可以使用css选择器

代码语言:javascript
复制
for href in sel.css("div.recipe-description a::attr(href)").extract():
    print href
票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36281413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档