转载自 :https://blog.csdn.net/weixin_40188147/article/details/78173695
构建表单数据(在http://www.iqianyue.com/mypost实验)查看源代码,发现name属性值为“name”,密码对应的输入框中,name属性值为“pass”。因此构建表单的数据中要包含两个字段,字段名为“name”,“pass”,字段值设置成对应的需要传递的值。格式为字典:
{字段名1:字段值1,字段名2:字段值2,...}
代码:
-
import urllib.request
-
import urllib.parse
-
url = "http://www.iqianyue.com/mypost"
-
postdata = urllib.parse.urlencode({
-
"name":"213161836",
-
"pass":"15713927150yzxc"
-
}).encode("utf-8") #将数据使用urlencode编码后,使用encode()设置utf-8编码
-
req = urllib.request.Request(url,postdata)
-
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safri/537.36")
-
data = urllib.request.urlopen(req).read().decode("utf-8")
-
print(data)
思路:
1.设置好url网址
2.构建表单,并且用urllib.parse.urlencod对数据进行编码处理
3.创建Request对象,参数包括URL地址和传递的数据
4.添加头信息,模拟浏览器进行爬取
5.打开对应的Request对象,完成信息传递