为什么升华文本3输出显示错误的输出,但在韦小宝代码在线工作良好

2024-09-28 22:21:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经编写了一个用于抓取的基本python代码,但是我正在用崇高的文本编写这段代码,它显示了错误的输出。但当我在线编写代码时,它显示了正确的输出。我不知道为什么会这样。我是python学习新手。 我的python版本

python --version
3.8.10

这是我在线运行代码时的输出

This is the result which i want to achieve. It is the result when i run my code online

enter image description here 这是由sublime text 3运行时的代码输出

基本上,在每个受试者的名字和每个在场或缺席的人之后都应该有hiii。但崇高并没有正确地表现出来。 这是我的密码

import  requests
from bs4 import BeautifulSoup
 
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'
}
 
login_data = {
    'username': 'XXXX',
    'password': 'XXXX'
}
 
absent = 0
present = 0
def checker(check):
    if check=='present':
        print('hi')
        # global present
        # present += 1
    elif check=='absent':
        print('jdljdl')
        # global absent
        # absent+=1
 
with requests.Session() as s:
    url = "http://app.bmiet.net/student/login"
    r =  s.get(url ,  headers =  headers)
    soup =  BeautifulSoup(r.content , 'html.parser')
    login_data['_token'] = soup.find('input' , attrs ={'name' : '_token'} )['value']
    r =  s.post('http://app.bmiet.net/student/student-login', data = login_data ,  headers = headers  )
    r = s.get('http://app.bmiet.net/student/attendance/view' , headers = headers)
    soup = BeautifulSoup(r.content , 'html.parser')
    result = soup.select('td')

    # result=list(map(lambda r:str(r.getText().lower()),result))
    date = []
    attendance = []
    no_of_lecture = []
    subject = []
    for x in result:
        print(x.getText())   
        print("hiii")

有谁能帮我解释一下为什么它在崇高的文本中不起作用。如果不想为python安装其他ide,该怎么办


Tags: 代码apphttpdatacheckloginresultstudent