我有一个问题: 如何分成两句话?
这是我的原始代码
sel = Selector(response)
links = sel.css("div#bargains > article.box h1 > em > a::attr(href)").extract()
因为我想要另外一个信息,所以我这样重写:
sel = Selector(response)
sites = sel.css("div#bargains > article.box h1 > em ")
for site in sites:
link = sel.css("a::attr(href)").extract()
title = sel.css("a::text").extract()
但这不起作用,它会抓住另一个我不想要的信息
我知道下面的代码不正确,我只是想问一下如何表达'>'在sel.css中的单独行
link = sel.css("> a::attr(href)").extract()
请指导我。谢谢你
答案 0 :(得分:1)
Scrapy 支持“相对”选择器语法。问题在于您在循环迭代中重用的sel
变量,因此您要从整个文档中进行选择。
您的代码应改为:
sel = Selector(response)
links = sel.css("div#bargains > article.box h1 > em > a")
for link_element in links:
link = link_element.css("::attr(href)").extract()
title = link_element.css("::text").extract()