吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2611|回复: 18
收起左侧

python如何模拟网页提交表单并上传文件?

[复制链接]
netspirit 发表于 2020-8-10 20:28
40吾爱币
我想用python实现一个功能 就是像图片里面这样 模拟在网页上填写信息然后同时上传一个文件的功能

就是用python来模拟自己打开了这个网页 然后填写了表单 然后同时选择了一个文件上传 然后再提交 如何实现?

网上的爬虫教程貌似都没有教如何上传文件的

而且还有一个问题 我用审查元素看网页历史response那里是读取失败的

@Zeaf 大佬教教我


fabu.JPG

最佳答案

查看完整内容

[mw_shl_code=python,true] import requests file1 = open("文件路径","rb") #种子文件 file2 = open("文件路径","rb") #封面图 file3 = open("文件路径","rb") #log文件 file4 = open("文件路径","rb") #频谱图 files = { 'torrent':(file1), 'cover':(file2), 'nfo':(file3), 'spectrum':(file4) } post_data = { "small_descr": "这里填副标题", "author":"艺术家", "mus ...

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

君临天下v 发表于 2020-8-10 20:28
本帖最后由 君临天下v 于 2020-8-10 22:58 编辑

[Python] 纯文本查看 复制代码

import requests

file1 = open("文件路径","rb") #种子文件
file2 = open("文件路径","rb") #封面图
file3 = open("文件路径","rb") #log文件
file4 = open("文件路径","rb") #频谱图

files = {
    'torrent':(file1),
    'cover':(file2),
    'nfo':(file3),
    'spectrum':(file4)
    }
post_data = {
    "small_descr": "这里填副标题",
    "author":"艺术家",
    "music_category": "专辑,这里是正整数序号,因为是下拉框",
    "title":"名称",
    "year": "发行年份",
    "musictype":"类别,同样是整数序号",
    "processing_sel": "地区,同样是整数序号",
    "format":"格式,同样是整数序号",
    "medium_sel": "媒介,同样是整数序号",
    "origin":"转载写1,自制写2",
    "descr":"这里是简介,符号同样转成字符串",
    "cd_1":"填写曲目,当然可能有cd_2,cd_3,举一反三",
    "tag_jz":"yes", #勾选禁转
    "tag_yq":"yes", #勾选应求
    "uplver":"yes" #勾选不要在发布者项目中显示我的用户名
    }
response = requests.post(url, data=post_data, files=files)

print(response.text) #输出结果



用的requests库写的,当然没有加你的cookie,加上你的cookie才能代表你登录

免费评分

参与人数 1吾爱币 +2 收起 理由
netspirit + 2 感谢 明天再来研究下

查看全部评分

Ldfd 发表于 2020-8-10 20:59
填表selenium足够了
上传得自己抓包post

免费评分

参与人数 1热心值 +1 收起 理由
netspirit + 1 感谢回答 我是新手没看懂 我再去搜一搜

查看全部评分

leo2leo 发表于 2020-8-10 21:03
https://blog.csdn.net/u010694922/article/details/79485003

https://www.52pojie.cn/forum.php ... hlight=%BA%DA%C2%ED

试一下”python+selenium 自动填写表单并提交“
>黑马Python...>23 爬虫>4 seleni...

免费评分

参与人数 1热心值 +1 收起 理由
netspirit + 1 感谢回答~~~下次我去看看

查看全部评分

君临天下v 发表于 2020-8-10 21:18
上传文件要么post要么put,你把网站网址发出来啊,不然我怎么抓包

免费评分

参与人数 1热心值 +1 收起 理由
netspirit + 1 热心回复!

查看全部评分

 楼主| netspirit 发表于 2020-8-10 21:21
君临天下v 发表于 2020-8-10 21:18
上传文件要么post要么put,你把网站网址发出来啊,不然我怎么抓包

感谢大佬 不过网址是内部的 要注册会员才能用
大佬能分享一下经验嘛 我才刚学python 不熟悉怎么操作
君临天下v 发表于 2020-8-10 21:27
本帖最后由 君临天下v 于 2020-8-10 21:32 编辑

这样把,你打开谷歌浏览器(国产浏览器极速模式一样的),进入你说的那个网页,按F12打开开发者工具,点击"network",窗口不要关闭,在网页上上传一个文件,就会看到开发者工具下面那个列表name----status-----type这些组成的,在下面随便选一项,右键,点击最后一个save all as HAR with content保存到文件,发出来给我分析,或者你直接就可以在这个页面分析

说实话selenium确实方便,但是就上传个文件就用selenium太大材小用了,自带的urllib库或者三方的requests就足够了
然悟星陨 发表于 2020-8-10 21:29
python的话需要配合selenium完成填表,上传文件需要用到post,python有基础的话直接看selenium模板的相关介绍,很快就能学会,如果没有基础建议直接易语言,配合网上流传的精易vip模块(ie内核),队长填表模块(谷歌内核),基本上不用一天就可以写出来。
 楼主| netspirit 发表于 2020-8-10 21:44
本帖最后由 netspirit 于 2020-8-10 23:45 编辑
君临天下v 发表于 2020-8-10 21:27
这样把,你打开谷歌浏览器(国产浏览器极速模式一样的),进入你说的那个网页,按F12打开开发者工具,点击"ne ...


https://app.tmp.link/?tmpui_page=/file&ukey=5d2c73
君临天下v 发表于 2020-8-10 22:00
本帖最后由 君临天下v 于 2020-8-10 22:07 编辑
netspirit 发表于 2020-8-10 21:44
https://app.tmp.link/?tmpui_page=/file&ukey=5f314eb3d2c73

https://leaguehd.com/takeuploadmusic.php这个地址有个包很奇怪,明明content-length值为66819但是并没有找到post的数据在哪
返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 06:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表