网页爬虫 - python3 post方式请求,传入data参数但req.full_url表明没有拼接是怎么回事?

查看:141
本文介绍了网页爬虫 - python3 post方式请求,传入data参数但req.full_url表明没有拼接是怎么回事?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

# -*- coding: utf-8 -*-
import urllib
imageURL='http://api.map.baidu.com/place/v2?'
user_agent1 = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers={'User-Agent':user_agent1}
params = urllib.parse.urlencode({
            'query':'人民广场',
            'region':'上海',
            'output':'json'}).encode('utf-8'); 
try:
    req = urllib.request.Request(url=imageURL,data=params,headers=headers)
    data=urllib.request.urlopen(req).read().decode('utf-8')
    print(req.full_url)   
except urllib.error.HTTPError as e:
    print(e)  

打印结果仍然是

http://api.map.baidu.com/place/v2?

表明并没有拼接成功

解决方案

post方法不需要拼接URL


http的Post方法是向服务器提交数据的一种请求,data在HTTP包FORM(表单)域中传递,此方法不会修改URL字符串。

这篇关于网页爬虫 - python3 post方式请求,传入data参数但req.full_url表明没有拼接是怎么回事?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆