HTML = '
<div class="box">
<div id="grid">
<div class="content">hello</div>
</div>
</div>
'
--这里发生的事情--
response.css('div.thread [*] div.mix').getall()
*如何搜索没有类的div?无论我在网上找到什么建议,我总是收到错误消息"expected got ...“
发布于 2019-06-21 08:59:55
您需要对id
属性使用#
:
response.css('div#grid')
或者您可以通过属性表示法选择它:
response.css('div[id="grid"]')
发布于 2019-06-21 08:59:20
你可以试试这样的东西。逻辑是,它将查找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)
发布于 2019-06-21 14:02:47
如果您想选择具有特定id的div,您可以按照其他答案的建议进行操作。
但是,如果要选择没有class属性的任何div,请使用:
.css('div:not([class])')
https://stackoverflow.com/questions/56692345
复制相似问题