HTML = '
<div class="box">
<div id="grid">
<div class="content">hello</div>
</div>
</div>
'
-东西在这里发生-
response.css('div.thread [*] div.mix').getall()
*如何搜索没有课程的div?无论我在网上发现什么建议,我都会不断收到错误消息:“预期某物变了……”
答案 0 :(得分:2)
您需要将#
用于id
属性:
response.css('div#grid')
或者您可以通过属性表示法选择它:
response.css('div[id="grid"]')
答案 1 :(得分:0)
您可以尝试类似的方法。逻辑是它将找到None(无),如果检查是否没有类,则第一个失败,然后将其附加到no_class_divs列表中。如果要基于ID查找,请接受@gangabass答案。如果您想查找没有class属性的div元素,那么我的答案应该起作用。
no_class_divs = []
divs = response.css("div")
for div in divs:
if div.css('::attr(class)').extract_first():
continue
else:
no_class_divs.append(div)
答案 2 :(得分:0)
如果要选择具有特定ID的div,则可以执行其他答案所建议的操作。
但是,如果要选择没有class属性的任何div,请使用:
.css('div:not([class])')