1

私はGoogleとstackoverflowで検索し、良い答えを見つけることができました.

私はPythonのHTML出力を取得するHTMLページにそのコードを持っています(私はjqueryを使用しています):

$.ajax({
    type: "POST",
    url: "getHTML.py",
    success: function(response)
    {
        $('body').append(response);
    }
});

python ファイルは次のようになります。

baseHTML = "www.google.com"
user_agent = "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)"
headers = {"User-Agent": user_agent}
req = urllib2.Request(baseHTML, headers=headers)

forumHTML = urllib2.urlopen(req)

page = Soup(forumHTML)

for e in page.findAll('script'):
    e.extract()

print 'Content-Type: text/plain\r'
print '\r'
print page

すべてが機能し、私は満足していますが...ボタンクリックイベントによって送信される別のJSONを追加しようとしました:

$('#GetByURL_button').on("click", function(){
    $.ajax({
        url: "getHTML.py",
        type: "POST",
        data: JSON.stringify({"newURL": "www.stackoverflow.com"),
        dataType: "json",
        success: function(response) {
            alert(response);
        }
    });
});

そして今、Pythonでそのイベントを処理する方法がわかりません。

明確にするために-私はpythonに次のようなものを持たせたい:

  1. ユーザーが (JSON を介して) 何も要求しなかった場合、既定のページを読み込みます。
  2. ユーザーが「stackoverflow」を (JSON 経由で) 要求した場合、www.stackoverflow.com をロードします。
  3. ユーザーが「犬」ロード www.DogsAreCool.com を要求した場合。

ヘルプのための tnx :)

4

2 に答える 2

3

Python スクリプトを接続するために使用しているフレームワークまたはメカニズムを指定していませんでした。サンプルには、入力を処理するスクリプトがまったく示されていません。

stdinですから、古い学校の CGI のように、リクエストの本文を として返すメカニズムを使用していると仮定しましょう。次のようにします。

content = sys.stdin.read()
data = json.loads(content)
newURL = data.get('newURL')
if newURL == 'dog':
    newURL = 'http://www.DogsAreCool.com'
elif not newURL:
    newURL = defaultPageURL
response = urllib2.urlopen(newURL)
# ...
于 2013-07-15T21:18:57.093 に答える