所以,我决定通过学习一门新语言并开始构建机器人来提高我的编程技巧。 “hackthissite.org”有几个我想要完成的编程挑战。第一个是解读一些词。
好的,够简单。让我创建一个登录并首先隔离单词的脚本。
我似乎无法在15秒内连接到该网站。我正在使用“请求”API执行此操作。这是我的代码:
def main():
print("Starting Prograam")
session = requests.session()
session = requests.get("https://www.hackthissite.org/pages/index/index.php")
print(str(session.status_code))
print("Successfully Connected to the site") #TODO: Error Handling
login = {'username' : 'My Account Username', 'password' : 'Terrible Hard-coded Password Here'}
session = requests.post("https://www.hackthissite.org/user/login", data=login)
bs = BeautifulSoup(session.content, "html.parser")
print(bs.prettify())
main()
该程序运行了11年,我最终得到超时错误或等待一段时间,我知道我不应该等待。我似乎无法在互联网上找到任何与我同样问题的人。它是“hackthissite.org”对抗机器人的东西吗?我是否需要以某种方式屏蔽我作为用户的活动?
答案 0 :(得分:0)
您永远不会使用您首次创建的会话,因此最后两行的所有行都无关紧要,登录您需要的只是您的用户名,密码并将 referer 标题设置为https://www.hackthissite.org :
def main():
print("Starting Program")
with requests.session() as session:
login = {"username": "username",
"password": "pass",
"btn_submit": "Login"}
session.headers.update({"referer":"https://www.hackthissite.org"})
s = session.post("https://www.hackthissite.org/user/login", data=login)
bs = BeautifulSoup(s.content, "html.parser")
print(bs.prettify())
完成后,您将在输出中看到您的个人资料页面。