python - 发送POST请求时如何给出搜索数据循环返回错误消息的异常?
问题描述
我有 ID,他们每个人都在网站表单中发送 HTTP POST 请求,但其中一些返回错误,整个语法停止返回剩余 ID 的输出。该站点必须在名为“tip”的列表中选择一个用于公司(L),另一个用于个人(P)。 代码应该检查 ID ('voen') 是否与 'tip' L (对于个人) 相关,然后在网站中搜索 ID 时 L 的形式 (在 form_data 列表中你可以看到名为 "tip" 的键被引用提示列表。
import requests
from bs4 import BeautifulSoup
request_headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.9',
'Cache-Control': 'max-age=0',
'Connection': 'keep-alive',
'Content-Type': 'application/x-www-form-urlencoded',
'Host': 'www.e-taxes.gov.az',
'Origin': 'https://www.e-taxes.gov.az',
'Referer': 'https://www.e-taxes.gov.az/ebyn/payerOrVoenChecker.jsp',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-User': '?1',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'YOUR USER AGENT',
}
voens = [1700401281,
4501313952,
]
tip = ['L',
'P',
]
form_data = {
'tip': tip,
'voenOrName': 'V',
'voen': voens,
'name': '',
'submit': ' Yoxla ',
}
url = 'https://www.e-taxes.gov.az/ebyn/payerOrVoenChecker.jsp'
for voen in voens:
form_data['voen'] = voen
response = requests.post(url, data=form_data, headers=request_headers)
s = BeautifulSoup(response.content, 'lxml')
sContent = s.findAll('table', {'class': 'com'})[0].findAll('tr', recursive=False)[1]
print(type(sContent))
**if sContent:**
outcome = sContent.get_text().strip()
print(outcome)
else:
form_data['tip'] = tip[1]
response = requests.post(url, data=form_data, headers=request_headers)
sContent = s.findAll('table', {'class': 'com'})[0].findAll('tr', recursive=False)[1]
print(sContent)
在“voens”字典上面的代码中,有一个公司和一个个人ID,在代码中我写它就像如果ID不是公司然后检查另一个“提示”(P)我在if sContent:
错误消息行中细化了问题:sContent = s.findAll('table', {'class': 'com'})[0].findAll('tr', recursive=False)[1]
IndexError: list index out of rang
解决方案
推荐阅读
- python - AttributeError:'str'对象没有属性'text',但如果我不放.text,它就可以工作
- python - 如何使用 NumPy 广播来加速这种相关性计算?
- magento - 在 Magento 2 中的所有 URL 中添加斜杠
- java - 使用 OKHttp 发出 GET 请求时出现“无法执行 android:onClick 的方法”异常
- python - 逻辑错误 - 检查一个词是否可以由另一个词组成
- asp.net-core-mvc - 如何验证对 Piranha.WebApi 的调用?
- azure - 是否可以将公共 Github 存储库(或其中的几个文件)合并到我的 Azure Devops repro 和 Pipelines 中?
- c# - 编译器无法将 C# 类成员识别为列表
- css - 是否可以在 Angular 中使用 :host 和 Encapsulation.None 来设置样式?
- c# - 在 C# 属性中构建字典