【发布时间】:2021-01-05 07:12:31
【问题描述】:
我一直试图通过一个请求,其中第一页是数学演算,以传递到主页。这部分解决了。但是,当我尝试获得其他东西时,我得到以下信息:
<script>
window.location.reload();
</script>
我已经学了一段时间了,但现在我才第一次尝试:
import re
import requests
def login_tokyo(s):
r = s.get('https://apcis.tmou.org/public/')
str_number = re.findall("<span[^>]+(.*?)</span>", r.text)[0]
numbers = re.findall('[0-9]+', str_number)
captcha = int(numbers[0]) + int(numbers[1])
payload = {'captcha': captcha}
r = s.post('https://apcis.tmou.org/public/?action=login', data=payload)
check_text = re.findall('<b>(.*?)</b>', r.text)[0]
print(check_text)
payload1 = {'Param': 0, 'Value': 5797164, 'imo': '', 'callsign': '', 'name': '', 'compimo': 5797164,
'compname': '', 'From': '01.06.2020', 'Till': '31.08.2020', 'authority': 0, 'flag': 0, 'class': 0,
'ro': 0, 'type': 0, 'result': 0, 'insptype': -1, 'sort1': 0, 'sort2': 'DESC', 'sort3': 0,
'sort4': 'DESC'
}
r = s.post('https://apcis.tmou.org/public/?action=getcompanies', data=payload1)
perf_tm = re.findall("<p class=[^>]+(.*?)</p>", r.text)
print(r.text)
print(perf_tm)
if __name__ == '__main__':
with requests.Session() as s:
login_tokyo(s)
print(check_text) 告诉我我在主页上,但是……什么也没有。根据这个特定的请求,我希望 print(perf_tm) 能够让我得到中等。
感谢所有帮助!
【问题讨论】:
-
你需要抓取哪些信息?
-
我喜欢网站上的数学问题验证码,它们和拼写一样有效。
-
我正在努力刮掉公司的业绩@ZarakiKenpachi
-
顺便说一句,我强烈建议使用 postman/insomnia 手动测试请求并检查哪些标头是必需的,哪些不是。
-
如果你像我一样懒惰,只需将浏览器中网络选项卡中的请求复制为 cURL 请求并将其粘贴到此处:curl.trillworks.com
标签: python html regex httprequest