gpt4 book ai didi

ruby - 如何找到以空格结尾的 HTML 类名?

转载 作者:太空宇宙 更新时间:2023-11-03 16:29:02 26 4
gpt4 key购买 nike

我有一个 HTML 页面:

<li id="user_432232" class="profile ">
<section class="vcard clearfix">
<div class="text">
<div class="name">
<h2 class="n fn">
<a href="#" class="profile-link">Johww</a>
</h2>

<div class="like-action like-action-user-432232">
<div class="like" style=";">
<span class="like-number" title="25 people like Jose">25</span>
</div>
</div>
</div>
<p class="title">SCR</p>
</div>
</section>
</li>
<li id="user_432232" class="profile ">
<section class="vcard clearfix">
<div class="text">
<div class="name">
<h2 class="n fn">
<a href="#" class="profile-link">Jose </a>
</h2>

<div class="like-action like-action-user-432232">
<div class="like" style=";">
<span class="like-number" title="25 people like Jose">25</span>
</div>
</div>
</div>
<p class="title">SCRT</p>
</div>
</section>
</li>

我需要获取nametitlelike等内容:

def find_page_data(url)
doc = Nokogiri::HTML(open(html))
data = []
doc.css('.profile').each do |item|
name= item.at_css("n fn").text
like_no = item.at_css(".like-number").text
title = item.css("p")[0].text
data << [name,title,like_no]
end
data
end

我得到的数据是空白的,因为 doc.css('.profile') 返回一个空白数组,因为 class="profile " 以空格结尾,所以我无法得到它。

最佳答案

class 参数内的空格是预期的并且工作正常:

require 'nokogiri'

html = <<EOT
<html>
<body>
<p class="foo ">found foo</p>
<p class="foo bar">found bar</p>
</body>
</html>
EOT

doc = Nokogiri::HTML(html)
doc.at('.foo').to_html # => "<p class=\"foo \">found foo</p>"
doc.search('.foo').to_html # => "<p class=\"foo \">found foo</p><p class=\"foo bar\">found bar</p>"
doc.at('.bar').to_html # => "<p class=\"foo bar\">found bar</p>"

请注意 Nokogiri 如何在前两次检查中找到 .foo,而在最后一次检查中发现 .bar

所有类都包含一个嵌入空间。

关于ruby - 如何找到以空格结尾的 HTML 类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19242873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com