【发布时间】:2020-03-24 06:08:46
【问题描述】:
我在 python 中创建了一个脚本,使用 requests 模块分别使用名称和密码 SIMMTH.iqbal_123 和 SShift_123 登录到这个 site。我现在想做的是在相应填写后保存申请表。但是,登录后,当您浏览此link 时,您将看到该表单。这就是form 的样子(我手动填写并保存的字段)。
到目前为止我已经尝试过:
import requests
from bs4 import BeautifulSoup
link = 'https://jobs.allianz.com/sap/bc/bsp/sap/zhcmx_erc_ui_ex/desktop.html#/APPLICATION/57259884'
post_url = 'https://jobs.allianz.com/sap/opu/odata/hcmx/erc_ui_auth_srv/ProfileSet?sap-client=100&sap-language=en'
payload = {"ProfileID":1,"Firstname":"taher","Lastname":"iqbal","Address1":"","Address2":"","City":"","PostalCode":"","Email":"mthupwork@gmail.com","Phone1":"","Phone2":"01790127774","HasAcceptedPrivStmt":True,"IsLocked":True,"ThumbnailUrl":"","PhotoUrl":"","Phone3":"","PrefDescription":"","PrefWillingessRelocate":None,"PrefWillingnessTravel":None,"PrefIndustrySet":[],"PrefLocationSet":[],"PrefHierarchyLevelSet":[],"PrefFunctionalAreaSet":[],"Salutation":2,"Country":{"CountryID":"BD"}}
with requests.Session() as s:
s.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
s.auth = ("SIMMTH.iqbal_123", "SShift_123")
s.get("https://jobs.allianz.com/sap/hcmx/validate_ea?sap-client=100&sap-language={2}")
s.get("https://jobs.allianz.com/sap/opu/odata/hcmx/erc_ui_auth_srv/UserSet('me')?sap-client=100&sap-language=en")
res = s.post(post_url,json=payload,headers={
'Content-Type': 'application/json;odata=verbose',
'Referer': 'https://jobs.allianz.com/sap/bc/bsp/sap/zhcmx_erc_ui_ex/desktop.html'
})
print(res.status_code)
我对上面payload 的值进行了一些更改,以便我可以检查脚本是否能够修改表单。但是,当我执行脚本时,它会给我403 状态码。
如何使用请求将表单的字段保存在该网页中?
顺便说一句,this 是我之前的帖子。
【问题讨论】:
-
这个问题还不清楚。与我之前回答的问题相同,因为我问 您接下来要做什么,现在您确实有 6 个步骤的循环要完成。你想通过第一个,你会处理剩下的?表示您要移动到
cover letter? -
我只关注第一种形式@αԋɱҽԃ αмєяιcαη。如果我在处理第二种形式时遇到困难,我将在稍后发布另一个问题进行相应的描述。谢谢。
标签: python python-3.x web-scraping beautifulsoup python-requests