サイトのレイアウトに関する予備知識がない限り、コードからこれを判断する良い方法はありません。
HTML と DHTML を使用すると、CSS または JavaScript を使用してページ全体に要素を配置でき、Nokogiri がアクセスできないページの読み込み後に配置できます。
ページが完全にロードされた後、Watir API の 1 つを使用してそれを行うことができるかもしれませんが、ここでも、サイトがどのレイアウトを使用しているかを知る必要があります。広告は HTML ストリームのどこにでも配置でき、読み込み後にページ内を移動できます。また、実際のコンテンツを動的に読み込み、その場所とサイズをその場で変更できます。その結果、HTML 内のコンテンツの位置が重要であるとは期待できません。また、コンテンツが HTML 内にあるとは期待できません。これに関しては、JavaScript や CSS は友達ではありません。
サイト分析用のスパイダーとクローラーを作成したときも、同じ問題に対処しなければなりませんでした。どのサイトを見るかはわかっていたので、簡単な事前スキャンを行ってランドマーク タグを見つけ、それらの CSS または XPath アクセサーをいくつか書きました。それらを URL とともにデータベースに保存すると、ページをすばやく移動して、必要なものを正確に取得できます。
ページ レイアウトに関する知識がなければ、コードはページ レイアウト担当者や、ページの要素の位置を変更するものに完全に翻弄されます。
基本的に、コードでページをグラフィカルにレンダリングしてコードで分析できるようにする機能とともに、脳内のウェットウェアをコードで実装する必要があります。ユーザーがブラウザーでページを表示するとき、重要なコンテンツを見つけるために視覚的および文脈的な手がかりを使用しています。そのコンテキスト情報はすべて、不足しているものであり、記述する必要があるものです。