2016-09-10 9 views
0

POST引数でHTTPリクエストを行うPythonスクリプトを作成しようとしています。私は(「ル・グランレックスは」私が探している映画であるGoogle検索バーを使用するスクリプトを作成し、映画の名前を入力しようとしているHTTP POSTリクエストのパラメータを含む辞書の「キー」の名前は何ですか?

google.com/movies

:このサイトで 私は右クリックして表示する場合)

それ表示、Google検索バーに「要素を調査」:

<input dir="" id="gbqfq" class="gbqfif" name="q" autocomplete="off" value="" placeholder="Search Movies" type="text"> 

私は「値」が含まれていること何を参照してくださいGoogleの検索バーにユーザーの書き込み。だから私は、引数が含まれている私の辞書、私は次のように(私の場合は、「ル・グランレックス」)を探している映画が含まれている「値」という名前のキーを追加します:

#! /usr/bin/env python3                                                      

import urllib.parse 
import urllib.request 
from bs4 import BeautifulSoup 

url = "https://www.google.com/movies" 

value = { 
    "name" : "q", 
    "dir" : "Le Grand Rex" 
    } 

data = urllib.parse.urlencode(value) 
data = data.encode('ascii') 
the_page = urllib.request.Request(url, data) 
new = urllib.request.urlopen(the_page) 
#                                                            
soup = BeautifulSoup(new, 'html.parser') 
h2 = soup.find_all("h2") 
for element in h2: 
    print(element) 

しかし、私がチェックしたときに右のページ(正確には、Googleの検索バーのユーザーが「Grand Rex」を入力したときに表示されるはずのページ)を開くと、残念ながら正しいものではありません。

ので:

は、httpリクエストは、私の目的を達するための適切な方法は何ですか?

HTTP POSTリクエストのパラメータが含まれている辞書の「キー」の名前は何ですか。

答えて

0

The name attribute contains the key.

{'q': 'Le Grand Rex'} 
+0

こんにちは あなたの答えをありがとう残念ながらそれは動作しません:/ 私は、引数なしで、メインページ上にあったかのようにそれは私のページを与えます。 –

+0

あなたはページが予期している方法でそれを提供していますか? –

+0

次のようにしてください: 値= { "q": "Le grand Rex" } –