将文件上传到网站的例程

时间:2018-02-02 21:22:22

标签: python html beautifulsoup

我有一定的情况,我对如何继续进行的想法一无所知。我有一个非常重复的任务,包括:

  • 从文件列表中选择文件
  • 按提交
  • 重复,直到文件夹中的所有文件都已提交/上传

有时我一次有100个文件,这可能非常耗时。我想写一个脚本来自动化这个例程。

这是相关网页的视觉效果:

Menu Format

当然,这由以下html代码表示:

<input type="file" class="inputFile" data-name="userNumListFile">
<form class="navbar-form navbar-left" method="post" action="/give/giveItemBatch" enctype="multipart/form-data"><button type="submit" class="btn btn-default">Submit</button></form>

这两个条目代表我发送HTTP请求所需的内容。我在Python中做了类似的事情,我使用以下代码访问仅授权的网页,然后使用bs4收集所需的信息。

import requests
payload = {'username': 'user',
        'password': 'pw',
        'rememberMe': 'true'}
with requests.Session() as s:
url = "http://yada.com"
p = s.post(url, data=payload)
soup = BeautifulSoup(p.text, "html.parser")

我想知道是否有类似于上面的内容,我可以提交要上传的文件,然后按提交按钮。

然后我会遍历我文件夹中的所有文件,这很容易。

1 个答案:

答案 0 :(得分:0)

只需在循环中使用requests.post,即远程文件夹的名称。首先读取本地文件并将其存储在一个数组中,然后启动一个循环并将request.post放入远程目标。