我如何知道字典中包含HTTP POST请求参数的“key”的名称?

2024-03-29 12:28:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试制作一个Python脚本,它使用POST参数发出HTTP请求。 在此网站上:

google.com/movies

我试着做一个脚本,使用谷歌搜索栏,并输入一个电影院的名称(“勒格兰德雷克斯”是我正在寻找的电影院)

当我右键单击并在google搜索栏上显示“inspect Element”时,它会显示:

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

我看到“value”将包含用户在Google搜索栏中所写的内容。所以我在字典里加了一个参数,一个名为“value”的键,它包含了我要找的电影(在我的例子中是“legrandrex”),如下所示:

#! /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电影搜索栏中键入“legrandrex”时应该显示的页面),但不幸的是,它不是正确的页面

所以:

http请求是否足以达到我的目的

我如何知道字典中包含HTTP POST请求参数的“key”的名称


Tags: import脚本comhttpdata参数valuerequest