4

こんにちは、python 2.5 と beautifulsoup を使用してスクレイパーを構築していますが、問題が発生したときに無精ひげを生やしています ... ユーザーがボタンをクリックした後に Web ページの一部が生成され、適切なパラメーターを使用して特定の javacsript 関数を呼び出して ajax リクエストを開始します

ユーザーの操作をシミュレートしてこの結果を得る方法はありますか? 私は機械化モジュールに出くわしましたが、これは主にフォームを操作するために使用されているようです...

リンクやコードサンプルをいただければ幸いです

4

2 に答える 2

6

わかったので... urllib、ulrlib2、beautifulsoupの組み合わせを使用できることに気付いた後、それは非常に簡単でした

import urllib, urllib2
from BeautifulSoup import BeautifulSoup as bs_parse

data = urllib.urlencode(values)
req  = urllib2.Request(url, data)
res  = urllib2.urlopen(req)
page = bs_parse(res.read())
于 2010-04-10T12:59:27.107 に答える
3

いいえ、それは簡単にはできません。あなたのオプションは、最初に最も簡単です。

  1. 人間のプログラマーとしてAJAXjavascriptコードを自分で読み、それを理解してから、Pythonコードを記述してAJAX呼び出しを手動でシミュレートします。いくつかのキャプチャソフトウェアを使用して、ライブで行われた要求/応答をキャプチャし、コードでそれらを再現することもできます。
  2. セレンまたはその他のブラウザ自動化ツールを使用して、実際のWebブラウザでページをフェッチします。
  3. spidermonkeypyv8などのPythonjavascriptランナーを使用してjavascriptコードを実行し、それをHTMLdomのコピーにフックします。
于 2010-04-09T19:19:32.280 に答える