Nokogiri抓取遗漏HTML



Nokogiri没有抓取iframe标签下的任何内容。

doc.search("iframe")只返回iframe标签。doc.search("body.content-frame")返回空。doc.errors也返回空。为什么Nokogiri不注册iframe下的HTML ?我怎样才能抓住它?

<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
    <head></head>
    <body onunload="clearMyTimeInterval()">
       <iframe id="content-frame" frameborder="0" src="/sportsbook/betting-lines/baseball/2014-08-21/?range=day" onload="javascript:checkLoadedFrame(this);" style="background-color: rgb(34, 34, 34); height: 1875px;" name="content-frame" scrolling="no" border="0">
           #document
           <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
           <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
            <head></head>
            <body class="content-frame">
             #ETC.......

这是因为iframe的内容不是页面的一部分。事实上,它们位于完全不同的位置(注意iframesrc属性)。您必须单独获取该内容,这是浏览器的做法。

处理它的代码:

page = Mechanize.new.get "http://page_u_need"
page.iframe_with(id: 'beatles').content

相关内容

  • 没有找到相关文章

最新更新