私はpythonのhtml解析にlxml.htmlを使用しています。私はそれがブラウザによってレンダリングされた後、ページ内の要素の位置のおおよその概算を取得したいと思います。正確である必要はありませんが、一般的には正しいです。わかりやすくするために、Javascriptの要素位置への影響を無視します。最終的に、要素を繰り返し(たとえばlxmlで)繰り返し、x/y座標を見つけることができるようにしたいと考えています。どのようにこれを行うにはどのような考え?私はlxmlにとどまる必要はなく、他のライブラリを試してみてうれしいです。PythonのHtml要素の位置
2
A
答えて
5
PyQtは:
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
class MyWebView(QWebView):
def __init__(self):
QWebView.__init__(self)
QObject.connect(self,SIGNAL('loadFinished(bool)'),self.showelements)
def showelements(self):
html=self.page().currentFrame().documentElement()
for link in html.findAll('a'):
print(link.toInnerXml(),str(link.geometry())[18:])
if __name__=='__main__':
app = QApplication(sys.argv)
web = MyWebView()
web.load(QUrl("http://www.google.com"))
web.show()
sys.exit(app.exec_())
+0
これは素晴らしいです。これを少しだけコマンドラインで扱いやすいようにする方法はありますか?具体的にはそれをやめて(またはURLのシーケンスで操作しますか? 'web.show()'を削除し、 'sys.exit(0) 'ショーの要素の最後に。 – muckabout
0
Svenが述べたように、HTMLレンダリングエンジンが必要です。以前にHTMLのレンダリングに関する質問がありましたが、それを参照することができます。 WebKitのと
関連する問題
- 1. 要素の位置HTML/CSS
- 2. htmlソースの要素位置を取得
- 3. jquery要素コレクションのswitch要素位置
- 4. 擬似要素内の位置要素
- 5. Pythonの要素の位置numpyの配列と同じ要素の位置が別の配列
- 6. Androidレイアウト要素の位置
- 7. Fullpage.jsプラグインセクションの位置要素
- 8. モバイルキーボード上の位置要素
- 9. 他の要素の上に位置するsvg要素の位置
- 10. ipodとxcodeシミュレータ間のHTML要素の位置の不一致?
- 11. iframeのhtml要素の位置を外します
- 12. HTMLの要素の文字位置を取得する
- 13. HTML要素の画面からの相対位置
- 14. HTML要素の絶対位置を計算できない
- 15. 角2:HTML要素の位置を取得する
- 16. HTML要素の位置を対角線で指定します。
- 17. HTML要素の位置を画像にリンクする
- 18. Pythonの2つの配列要素の交換位置
- 19. [python] [selenium]要素の画面上の位置
- 20. CSS位置決め要素
- 21. 打ち要素位置は
- 22. 絶対位置要素
- 23. Python OrbitalPyトレースバックエラーデカルト状態ベクトルケプラー要素からの位置と速度
- 24. blast.js要素の位置の変更
- 25. JavaScriptの要素の位置を取得
- 26. ブロック要素内のテキストの位置
- 27. jQuery UIの位置 - 親要素のセレクタ?
- 28. 要素の位置 - JavaFXのGridPane
- 29. ブートストラップフッタ要素の位置の底面
- 30. ブートストラップの上のCSS位置要素selectpicker
あなたは、この情報を取得するためにHTMLレンダリングエンジンが必要になります。パーサーは助けません。 –
また、CSSの効果も考慮する必要があります。最近は、ほとんどコンテンツがレンダリングされていません。 –