我想弄清楚,为了将数据发布到正确的形式,关键是什么,价值是多少。在我看来,我认为具有方法获取的html标签的ID是关键。我放在文本框中的文字应该是值。
<form id="searchbox_form" class="searchbox_form form man" method="get" action="/submit_search/" autocomplete="off">
所以问题是,在将文本放入搜索框后,如何获取网页html? 谢谢大家,这是我的代码
import requests
r = requests.post("http://www.trulia.com/homepage.php?",
data={'searchbox_form form man':'7420 Westlake Ter #1210 20817'})
with open("test.html", "w") as f:
f.write(r.text.encode("utf-8"))
答案 0 :(得分:2)
表单使用HTTP GET
方法提交,提交的网址位于表单的action
属性中。因此,您要在http://www.trulia.com/submit_search/
现在你可以这样做,
from urllib import urlencode
import requests
params = {'search': '7420 Westlake Ter #1210 20817'}
search_url = 'http://www.trulia.com/submit_search/?'
url = search_url + urlencode(params)
r = requests.get(url)
# now you get your desired response.
您可以使用firebug或开发人员工具查看请求。
如果它是python 3.x,标记为,则导入应为
from urllib.parse import urlencode
答案 1 :(得分:0)
尝试删除?在您的网址中。 然后更改“searchbox_form”表单man&#39;只是&#39; searchbox_form&#39;。
您的请求对象将如下所示:
r = requests.post("http://www.trulia.com/homepage.php", data={'searchbox_form': '7420 blahblah'})
我认为这可行。
? URL末尾的标记表示您在URL中提交查询字符串。 由于您发布了w /表单数据,因此您帖子中的数据字典(data = {})会负责添加查询字符串。