Ruby on rails 通过CSS选择器方法机械化不识别锚定标记
(希望这不是违反礼节:我在RailsForum上发布了这篇文章,但最近没有得到太多回应。) 其他人有没有遇到过Mechanize无法通过CSS选择器识别锚定标记的问题 HTML如下所示(为了清晰起见,删除了带空格的代码段): 有趣的是,item.at(“a”)总是返回锚点。但e.at(“a”)返回零。当我在p元素上使用internal_html时,它会完全忽略锚点。示例输出:Ruby on rails 通过CSS选择器方法机械化不识别锚定标记,ruby-on-rails,css,nokogiri,mechanize,screen-scraping,Ruby On Rails,Css,Nokogiri,Mechanize,Screen Scraping,(希望这不是违反礼节:我在RailsForum上发布了这篇文章,但最近没有得到太多回应。) 其他人有没有遇到过Mechanize无法通过CSS选择器识别锚定标记的问题 HTML如下所示(为了清晰起见,删除了带空格的代码段): 有趣的是,item.at(“a”)总是返回锚点。但e.at(“a”)返回零。当我在p元素上使用internal_html时,它会完全忽略锚点。示例输出: nil <span class="sidenavHeadType"> Photo Club</sp
nil
<span class="sidenavHeadType">
Photo Club</span><br><b>Indexing Slide Collections</b>
<br>
2:00pm- 3:00pm
它识别中的,并返回href等
<span class="sidenavHeadType">
Bridge Party</span><br><b><a href="http://www.mysite.org/index.php/site/Clubs/party_bridge_51209" class="a2">Party Bridge</a></b>
<br>
7:00pm- 9:00pm
桥牌派对
下午7:00-9:00
Mechanize应该使用Nokogiri,所以我想知道我的版本是否不好,或者这是否也会影响其他人
谢谢你的任何线索。没关系。虚惊一场。在我的Nokogiri任务中,我指向包含锚的页面的本地副本。live页面需要登录,所以当我浏览它时,我可以看到a标签。将登录添加到rake任务解决了此问题。很高兴您找到了解决方案:)请单击答案旁边的勾号,将问题标记为已解决。
nil
<span class="sidenavHeadType">
Photo Club</span><br><b>Indexing Slide Collections</b>
<br>
2:00pm- 3:00pm
doc.css(".calendarCell,.calendarToday").each do |item|
day = item.at_css("a").text
item.css("p").each do |e|
link = e.at_css("a")[:href]
puts e.inner_html
end
end
<span class="sidenavHeadType">
Bridge Party</span><br><b><a href="http://www.mysite.org/index.php/site/Clubs/party_bridge_51209" class="a2">Party Bridge</a></b>
<br>
7:00pm- 9:00pm