sel.css 选择器:拆分成两个句子
我有一个问题:如何把一句话分成两句?
这是我最开始的代码:
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()
请指导我,谢谢。
1 个回答
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()