第二关依然是非常的简单
地址:http://www.heibanke.com/lesson/crawler_ex01/
随便输入昵称呢密码,点击提交,显示如下:
这样看来就很简单了,枚举密码循环 post 请求,获取响应网页的内容,如果有“密码错误”,那就继续。
import re
import requests
import time
def main():
url = 'http://www.heibanke.com/lesson/crawler_ex01/'
for psd in range(30):
print(f'test password {psd}')
r = requests.post(url, data={'username': 'aa', 'password': psd})
html = r.text
if '密码错误' not in html:
m = re.search('(?<=\<h3\>).*?(?=\</h3\>)', html)
print(m.group())
m = re.search('(\<).*?href="([^"]*?)".*?(\>下一关\</a\>)', html)
print(f'下一关 http://www.heibanke.com{m.group(2)}')
return
else:
time.sleep(1)
if __name__ == '__main__':
main()