Webページをスクレイピングしてコンテンツを「推測」する必要があるスクレイピングロボットに取り組んでいます。
私が持っているもの:
- Ubntu で利用可能な Webkit/python API と、DOM アクセスと操作を含む完全な API
- 私が管理していないウェブページ
- Webkit が返す興味深いテキスト入力フィールド。
- ブラウザの制御された環境 - ウィンドウ サイズ/ハードウェアは既知です。
私がしたいこと:
入力ボックスの前に視覚的に最も近いテキストを取得します。これは、入力ボックスの直前をクリックして、手動で行う場合は画面上で 3/4 行または約 1 インチ上に移動することに大まかに変換されます。ウィンドウのサイズやその他のハードウェアを制御しているので、1 インチと言えます。
問題:
DOM 階層と CSS の配置により、テキストが視覚的に近くに配置されていても、ページ マークアップでは常に近くにあるとは限りません。ユーザーが手動で行っているかのようにテキスト選択をシミュレートするにはどうすればよいですか?
範囲を試してみましたが、範囲には開始/終了要素が必要なため、問題は正しい要素を取得しています。その上、何らかの理由で、プログラムで実行するとjavascript/commentsの他の綿毛が返されますが、画面上で手動で実行してブラウザの範囲を検査すると発生しません。