我正在尝试制作一个Python脚本,它使用POST参数发出HTTP请求。 在此网站上:
我试着做一个脚本,使用谷歌搜索栏,并输入一个电影院的名称(“勒格兰德雷克斯”是我正在寻找的电影院)
当我右键单击并在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”的名称
The ^{} attribute contains the key.
相关问题 更多 >
编程相关推荐