Ruby 如何找到一个嵌入的;a「;标签
我无法在Ruby 如何找到一个嵌入的;a「;标签,ruby,html-parsing,nokogiri,Ruby,Html Parsing,Nokogiri,我无法在p.user\u info中获取a标记: <p class="user_info"> <a href="javascript:;" onClick="showSideView(this, 'login_id', 'user_name', 'ZmFubmlAaGFubWFpbC5uZXQ=', '');" title="[login_id]user_name"> <img src='/cs2/data/member/fa/login_
p.user\u info
中获取a
标记:
<p class="user_info">
<a href="javascript:;" onClick="showSideView(this, 'login_id', 'user_name', 'ZmFubmlAaGFubWFpbC5uZXQ=', '');" title="[login_id]user_name">
<img src='/cs2/data/member/fa/login_id.gif?dt=20130117095107' align='absmiddle' border='0'> of
</a>
</p>
是否可以使用Nokogiri在a
标签中获取login\u id
,user\u name
我发现了一个更重要的问题:
url = "http://clien.net/cs2/bbs/board.php?bo_table=park&wr_id=23895599"
html = open(url).read
puts html
# => ...
<p class="user_info"> <img src='/cs2/data/member/at/atlantis33.gif?dt=20130506110916' align='absmiddle' border='0'>님 </p>
...
url=”http://clien.net/cs2/bbs/board.php?bo_table=park&wr_id=23895599"
html=打开(url)。读取
放置html
# => ...
님
...
我不知道为什么我无法获得a
标记。请尝试以下操作:
require 'nokogiri'
html = <<eoh
<p class="user_info">
<a href="javascript:;" onClick="showSideView(this, 'login_id', 'user_name', 'ZmFubmlAaGFubWFpbC5uZXQ=', '');" title="[login_id]user_name">
<img src='/cs2/data/member/fa/login_id.gif?dt=20130117095107' align='absmiddle' border='0'> of
</a>
</p>
eoh
page = Nokogiri::HTML(html)
a = page.at_css("p.user_info a")
p a[:onclick].split(',')[1,2]
# => [" 'login_id'", " 'user_name'"]
p a[:onclick].split(',')[1,2].map { |x| x.gsub(/^[' ]+|[' ]+$/, '') }
# => ["login_id", "user_name"]
需要“nokogiri”
html=[“登录id”,“用户名”]
要求“nokogiri”
a=%{
“}
html=Nokogiri::html(a)
link=html.at_css“a”
放置链接。值[1]。拆分[1]
放置链接。值[1]。拆分[2]
回答我自己。a
标签只有在登录后才能看到。需要机械化库。我发现问题。打开(url)。阅读无法获得p.user\u信息a。我想可能是因为ruby。这需要证明它实际上会检索到所需的标签。OP需要它在带有“.user\u info”的标签中找到“a”“上课。如果前面有一个“a”,代码就错了。对不起,这不是nokogiri的问题。。。打开(url)。阅读#=>님
我解决了这个错误。这不是登录会话。我投票将此问题作为离题问题关闭,因为“它需要登录”该问题应该关闭,因为它离题,因为它无法复制。这是否回答了您的问题?因为我的错误,我投票决定以离题的方式结束这个问题
require 'nokogiri'
html = <<eoh
<p class="user_info">
<a href="javascript:;" onClick="showSideView(this, 'login_id', 'user_name', 'ZmFubmlAaGFubWFpbC5uZXQ=', '');" title="[login_id]user_name">
<img src='/cs2/data/member/fa/login_id.gif?dt=20130117095107' align='absmiddle' border='0'> of
</a>
</p>
eoh
page = Nokogiri::HTML(html)
a = page.at_css("p.user_info a")
p a[:onclick].split(',')[1,2]
# => [" 'login_id'", " 'user_name'"]
p a[:onclick].split(',')[1,2].map { |x| x.gsub(/^[' ]+|[' ]+$/, '') }
# => ["login_id", "user_name"]
require 'nokogiri'
a =%{<p class="user_info">
<a href="javascript:;" onClick="showSideView(this, 'login_id', 'user_name', 'ZmFubmlAaGFubWFpbC5uZXQ=', '');" title="[login_id]user_name">
<img src='/cs2/data/member/fa/login_id.gif?dt=20130117095107' align='absmiddle' border='0'> of
</a>
</p>"}
html = Nokogiri::HTML(a)
link = html.at_css "a"
puts link.values[1].split[1]
puts link.values[1].split[2]