求教一个 Python 爬虫的问题关于 form-data 的数据怎么通过 post 上传

2021-03-28 15:18:22 +08:00
 wkx556874
想写一个爬虫自动提交修改某平台的人员信息,
所有信息都搞懂了,但是有一项是照片。
其他例如手机号那些数据直接在 data 字典里面声明 data={"mobile":"13000000000"}就行,
这是抓包抓到的数据:
Content-Disposition: form-data; name="mobile"
Content-Length: 11 13000000000
然后直接 session.post(url, data=data) 就直接修改了,
但是照片应该怎么弄呢?
这是抓包抓到的数据:
Content-Disposition: form-data; name="photo"; filename="pic_after_crop_20210328145606.jpg"
Content-Type: multipart/mixed; boundary=BbC04y
Content-Length: 205722 <file>
我这样写,修改没用。。
files = {"file": ("1.png", open("1.png", "rb"), "image/png")}
data={"photo": "1.png"}
session.post(url, data=data, files=files)
应该怎么写呢?我查了很多文档也没找到。。
只好来问问大佬们。
637 次点击
所在节点    问与答
3 条回复
wkx556874
2021-03-28 15:24:43 +08:00
求大佬们解答下呀。。
paidaxtis
2021-03-28 15:46:22 +08:00
import requests

url = "接口 url"

payload={}
files=[
  ('file',('图片名字.jpg',open('图片 url','rb'),'image/jpeg'))
]
headers = {}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)
paidaxtis
2021-03-28 15:47:58 +08:00
postman 自动生成的代码,我自己测试接口这样写是可以的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/765881

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX