Python 3.x Python3网页抓取无法登录页面?时间戳?

Python 3.x Python3网页抓取无法登录页面?时间戳?,python-3.x,web-scraping,beautifulsoup,request,timestamp,Python 3.x,Web Scraping,Beautifulsoup,Request,Timestamp,因此,我刚开始学习使用python3进行网页抓取,我想登录到这个网站: 它需要的表单数据是: 用户名:用户名, 密码:密码, 伊斯莫比尔:错, 返回URL:“”, 答:错, 时间戳:2020-03-3114:11:21, 斯托克:17a48bd154307fe36dcadc6359681609f4799034ad5cade3e1b31864f25fe12f 这是我的代码: from bs4 import BeautifulSoup import requests from lxml import

因此,我刚开始学习使用python3进行网页抓取,我想登录到这个网站:

它需要的表单数据是: 用户名:用户名, 密码:密码, 伊斯莫比尔:错, 返回URL:“”, 答:错, 时间戳:2020-03-3114:11:21, 斯托克:17a48bd154307fe36dcadc6359681609f4799034ad5cade3e1b31864f25fe12f

这是我的代码:

from bs4 import BeautifulSoup
import requests
from lxml import html
from datetime import datetime

data = {'UserName': 'username',
           'Password': 'password',
           'IsMobileUser': 'false',
           'ReturnUrl': '',
           'RequireCaptcha': 'false'
           }

login_url = 'https://dienynas.tamo.lt/Prisijungimas/Login'
url = 'https://dienynas.tamo.lt/Pranesimai'

with requests.Session() as s:
    r = s.get(login_url)
    soup = BeautifulSoup(r.content, "lxml")
    AUTH_TOKEN = soup.select_one("input[name=SToken]")["value"]
    now = datetime.now()
    data['Timestamp'] = f'{now.year}-{now.month}-{now.day} {now.hour}:{now.minute}:{now.second}'
    data["SToken"] = AUTH_TOKEN
    r = s.post(login_url, data=data)
    r = s.get(url)
    print(r.text)
我不能登录到页面,我想我的时间戳搞错了?请帮忙:)

编辑:所以今天我稍微修改了我的代码,因为我发现我需要的大多数数据都在隐藏输入中,所以:

data = {'UserName': 'username',
        'Password': 'password',
        }

AUTH_TOKEN = soup.find("input",{'name':"SToken"}).get("value")
    Timestamp = soup.find("input",{'name':"Timestamp"}).get("value")
    IsMobileUser = soup.find("input",{'name':"IsMobileUser"}).get("value")
    RequireCaptcha = soup.find("input", {'name': "RequireCaptcha"}).get("value")
    ReturnUrl = soup.find("input", {'name': "ReturnUrl"}).get("value")
并将其添加到数据字典中,我还尝试创建标题:

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
r = s.post(login_url, data=data, headers=headers)

是的,对我来说什么都不管用。。也许有办法找出我无法登录的原因?

我同意你的看法。看来你发送的时间戳不正确。 网站有一个输入,所以你可以像标记一样刮取它并发送它,或者你可以用网站使用的相同时区生成相同的时间戳

from bs4 import BeautifulSoup
import requests
from lxml import html
from datetime import datetime
from pytz import timezone


data = {'UserName': 'username',
           'Password': 'password',
           'IsMobileUser': 'false',
           'ReturnUrl': '',
           'RequireCaptcha': 'false'
           }

login_url = 'https://dienynas.tamo.lt/Prisijungimas/Login'
url = 'https://dienynas.tamo.lt/Pranesimai'

with requests.Session() as s:
    r = s.get(login_url)
    soup = BeautifulSoup(r.content, "lxml")
    AUTH_TOKEN = soup.find("input",{'name':"SToken"}).get("value")
    Timestamp  = soup.find("input",{'name':"Timestamp"}).get("value") #2020-03-31 15:36:37
    now = datetime.now(timezone('Etc/GMT-3'))
    data['Timestamp'] = now.strftime('%Y-%m-%d %H:%M:%S') #2020-03-31 15:36:36
    print('Timestamp from website',Timestamp)
    print('Timestamp from python',data['Timestamp'])
    data["SToken"] = AUTH_TOKEN
    r = s.post(login_url, data=data)
    r = s.get(url)
    print(r.text)

是的,你是对的,我没有使用正确的时间戳,但是当你的代码有点改变时,我仍然无法登录help@EimantasG我试图创建一个帐户进行测试,但无法。是的,我不认为你可以在这个网站上创建一个帐户,但是如果你需要任何信息,你可以问它,我会设法找出它并把它给你谢谢你的帮助!我不知道如何运行,但现在我的代码运行得很好,我没有做任何更改,我只是从另一个.py文件运行它