2

urllib2とcookiejar(そのように)を使用してWebサイトからの応答を取得しているとしましょう。今、私はjQueryを使用して、Webサーバーから返された応答からデータを本質的にスクレイピングする簡単な方法を探しています。

PythonでWebスクレイピングに使用できるモジュールが他にもあることを理解していますが(のように)、jQueryコマンドだけで使用できる可能性がありますか?Python内にある種のjsパーサーが必要だと思いますか?

私がjQueryを使用したい理由は、多数のWebサイトやWebゲームにいくつかの興味深い変更を加える最大20個のGreasemonkeyスクリプト(主に他の人が作成したもの)があるためです。これらは、jQueryを使用してすべてのDOM変更を行います。この動作する信頼できるコードのほとんどを完全にリファクタリングするのではなく、Pythonに単純に移植できるようにしたいと思います(シンプルで効果的な自動化を可能にします)。

4

2 に答える 2

6

pyqueryはこのタスクに最適です。

Pythonの(X)HTML/XMLでセレクターのようなjQueryを使用できます。

例えば:

>>> from pyquery import PyQuery as pq
>>> d = pq("<html><p id="hello">Foo</p></html>")

>>> d("#hello")
[<p#hello.hello>]

>>> d('p:first')
[<p#hello.hello>]

詳細については、完全なAPIドキュメントを参照してください。また、ソースおよび課題トラッカーについては、bitbucketのプロジェクトページを参照してください。

于 2012-10-05T14:39:41.073 に答える
2

lxmlHTMLを解析し、そのcssselectモジュールを使用するために使用します。

from lxml.cssselect import CSSSelector
from lxml import etree

tree = etree.parse(document)
elements = CSSSelector('div.content')(tree)
于 2012-10-05T14:39:31.123 に答える