求助大佬,一个网页数据提交问题,貌似不是post?求指教
这是一个用于测试的超级表格的数据提交页面https://www.chaojibiaoge.com/Form/i/sharekey/7ugvoaya
我准备写一个代码用于提交几十个数据,本来以为会很简单
结果审查元素发现好像不是post
一下子就蒙了
如果大神会做求指点,给个代码案例最好了,万分感谢! 本帖最后由 python爱好者. 于 2022-3-21 18:20 编辑
表单:
是这个吗? python爱好者. 发表于 2022-3-21 18:19
表单:
是这个吗?
是 post 传入的呀:
本帖最后由 qq1151985918 于 2022-3-21 18:30 编辑
python爱好者. 发表于 2022-3-21 18:26
是 post 传入的呀:
大佬,我怎么审查元素没审查到?你怎么找到的,能帮忙写下例子吗,随便填哪个空都行,我真的没找到 qq1151985918 发表于 2022-3-21 18:28
大佬,我怎么审查元素没审查到?你怎么找到的,能帮忙写下例子吗,随便填哪个空都行,我真的没找到
import urllib.request
url = "https://www.chaojibiaoge.com/System/DealData/saveFormData"
data = """id:
need_return_newid: true
tablename: oa_sheet
fieldvalues: SYS_ROWID<=>~|~d1<=>2022-03-21~|~a2<=>~|~a3<=>~|~a1<=>~|~d2<=>~|~d3<=>~|~c1<=>~|~a4<=>~|~c2<=>~|~c3<=>~|~c4<=>~|~c5<=>~|~sort<=>-69~|~SYS_EDITTIME<=>2022-03-21<KG>18:33:22~|~SYS_EDITUSER<=>~|~SYS_ADDTIME<=>2022-03-21<KG>18:33:22~|~SYS_ADDUSER<=>~|~SYS_ADDIP<=>~|~id<=>7qm81wlf~|~projectid<=>ktjwa29p~|~SYS_FORMATE<=>~|~parentid<=>~|~treeparentid<=>
modelid: oa_sheet
usermodel_recordid: ktjwa29p
user: ugk5btr2
sharekey: 7ugvoaya
type: front
fromUrl: https://www.chaojibiaoge.com/Form/i/sharekey/7ugvoaya
newid: 7qm81wlf"""
data = {each_line.split(": "):each_line.split(": ") for each_line in data.split("\n")}
data = urllib.parse.urlencode(data).encode("utf8")
head = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.46"}
seq = urllib.request.Request(url,data,head)
html = urllib.request.urlopen(seq).read().decode("utf8")
python爱好者. 发表于 2022-3-21 18:39
感谢大佬,还有一个问题,就是最后边的图片文件是怎么提交的呢?能给个例子吗?以往都是open rb 这个怎么提交? qq1151985918 发表于 2022-3-21 18:46
感谢大佬,还有一个问题,就是最后边的图片文件是怎么提交的呢?能给个例子吗?以往都是open rb 这个怎么 ...
files = {"file": ("pic.jpg", open("pic.jpg", "rb"), "image/jpeg")}
res = requests.post(url, files = files) # qiuyouzhi 发表于 2022-3-21 19:01
大佬,这个也是open rb 提交吗?我刚看数据好像都在fieldvalues里,每两个竖线一个数据 qq1151985918 发表于 2022-3-21 19:03
大佬,这个也是open rb 提交吗?我刚看数据好像都在fieldvalues里,每两个竖线一个数据
啧,这个东西貌似是提交一个文件名?
没看见提交的数据里有二进制内容 qiuyouzhi 发表于 2022-3-21 19:06
啧,这个东西貌似是提交一个文件名?
没看见提交的数据里有二进制内容
所以还请大佬们帮忙研究一下,我水平不太够搞不太明白 qiuyouzhi 发表于 2022-3-21 19:06
啧,这个东西貌似是提交一个文件名?
没看见提交的数据里有二进制内容
我分别往里面提交了 4 个文件:WoW_0.txt,WoW_1.txt,WoW_2.txt,WoW_4.txt,没有 3 哦!
此时此刻,提交的表单是这样的:
fieldvalues: SYS_ROWID<=>~|~d1<=>2022-03-21~|~a2<=>~|~a3<=>~|~a1<=>~|~d2<=>~|~d3<=>~|~c1<=>~|~a4<=>~|~c2<=>WoW_0.txt~2022<XG>03<XG>WoW_0_PfwHUm.txt~|~c3<=>WoW_1.txt~2022<XG>03<XG>WoW_1_ugOxoZ.txt~|~c4<=>WoW_2.txt~2022<XG>03<XG>WoW_2_wrNfAJ.txt~|~c5<=>WoW_4.txt~2022<XG>03<XG>WoW_4_mdTUQL.txt~|~sort<=>-69~|~SYS_EDITTIME<=>2022-03-21<KG>18:58:25~|~SYS_EDITUSER<=>~|~SYS_ADDTIME<=>2022-03-21<KG>18:58:25~|~SYS_ADDUSER<=>~|~SYS_ADDIP<=>~|~id<=>7qr7rb3l~|~projectid<=>ktjwa29p~|~SYS_FORMATE<=>~|~parentid<=>~|~treeparentid<=> qq1151985918 发表于 2022-3-21 19:12
所以还请大佬们帮忙研究一下,我水平不太够搞不太明白
首先,你需要用我上面说的方法向这个网址提交一个图片:
https://www.chaojibiaoge.com/System/TableEdit/saveUploadedFile/istemp/false/modelid/undefined/fieldid/c3/recordid/null/projectid/ktjwa29p/sharekey/7ugvoaya
fieldid 后面的 c3 就是表格编号,提交其他图片改下它就行了
然后把这个字符串里对应的表格编号填上对应的值:
SYS_ROWID<=>~|~d1<=>2022-03-21~|~a2<=>~|~a3<=>~|~a1<=>~|~d2<=>~|~d3<=>~|~c1<=>~|~a4<=>~|~c2<=>~|~c3<=>~|~c4<=>~|~c5<=>~|~sort<=>-69~|~SYS_EDITTIME<=>2022-03-21<KG>19:14:24~|~SYS_EDITUSER<=>~|~SYS_ADDTIME<=>2022-03-21<KG>19:14:24~|~SYS_ADDUSER<=>~|~SYS_ADDIP<=>~|~id<=>7naewxg2~|~projectid<=>ktjwa29p~|~SYS_FORMATE<=>~|~parentid<=>~|~treeparentid<=>
举个例子:
比如你提交了 c3, 就把 c3 最后一个~ 之前填成这个样子:
~c3<=>1647860657(1).jpg~2022<XG>03<XG>1647860657(1)_hjgYcK.jpg~
这么写的原因我不太清楚,你可以多提交几次看看,或许是因为我这个图片太小。
最后再 post 这个 url 应该就提交成功了。
https://www.chaojibiaoge.com/System/DealData/saveFormData
应该不需要提交什么内容。 qiuyouzhi 发表于 2022-3-21 19:29
首先,你需要用我上面说的方法向这个网址提交一个图片:
fieldid 后面的 c3 就是表格编号,提交其他图 ...
大佬,
~c3<=>1647860657(1).jpg~2022<XG>03<XG>1647860657(1)_hjgYcK.jpg~
这个是怎么获取来的?我也发现这个了,关键是 hjgYcK 怎么获取的 qq1151985918 发表于 2022-3-21 19:40
大佬,
这个是怎么获取来的?我也发现这个了,关键是 hjgYcK 怎么获取的
这个貌似是随机的
qiuyouzhi 发表于 2022-3-21 19:46
这个貌似是随机的
这不会是自己随机编一个就行吧,我看了post图片结果就返回了一个上传成功...而且附带图片是有链接的但是不知道怎么获取,知道怎么获取也就解决了 qq1151985918 发表于 2022-3-21 19:49
这不会是自己随机编一个就行吧,我看了post图片结果就返回了一个上传成功...而且附带图片是有链接的但是 ...
你可以先试试自己编一个,可以的话就证明这是随机的
qiuyouzhi 发表于 2022-3-21 19:51
你可以先试试自己编一个,可以的话就证明这是随机的
肯定不行,你看 https://oss.chaojibiaoge.com/uploadfile/2022/03/001_DHJXIV.png
上传之后是有一个图片链接,这个名字应该要跟这个链接对应一致才对,要不然提交的数据没有上传二进制,而上传了二进制的名字又对应不起来怎么可能找到对应的文件呢
只是我一直找不到这个链接怎么返回的 qq1151985918 发表于 2022-3-21 19:54
肯定不行,你看
上传之后是有一个图片链接,这个名字应该要跟这个链接对应一致才对,要不然提交的数 ...
刚才研究了下,可以用 XPath 把它找出来:
//div[@class="fields-container"]/div/div[@fieldid="c2"]/div/div/a/@imgpath
不同表格改下 fieldid 就好 qiuyouzhi 发表于 2022-3-21 20:05
刚才研究了下,可以用 XPath 把它找出来:
不同表格改下 fieldid 就好
大佬,是对哪个页面xpath?好人做到底吧,我没找出来,给个代码可好,万分感谢!上传图片并获取链接的代码就好...感谢感谢! qq1151985918 发表于 2022-3-21 20:15
大佬,是对哪个页面xpath?好人做到底吧,我没找出来,给个代码可好,万分感谢!上传图片并获取链接的代 ...
就是对原来的页面
https://www.chaojibiaoge.com/Form/i/sharekey/7ugvoaya
刚才研究半天,requests.get 获得的源码和浏览器里的不一样
https://www.zhihu.com/question/416500458/answer/1650248084
或许这个能帮到你
页:
[1]
2