收录于话题
#Python挑战
6个
?? ? ? ? ?
有这么一个网站“http://HdhCmsTestpythonchallenge测试数据/”,里面有33个使用python去完成的挑战,通过这些挑战可以令我们更熟悉python。今天我们来挑战第5关。第5关网址:http://HdhCmsTestpythonchallenge测试数据/pc/def/linkedlist.php
这一关居然什么提示都没有!提示难道又藏在网页代码里?按F12键打开看一下。
英文意思是“urllib可能会有帮助,不要什么都不尝试,因为它永远不会结束。400次就够了”(urllib是python自带的访问网址的库)。emmm不知道有什么用。但是鼠标移到图片上面的时候,好像可以点击,点击一下看看。
点击之后的网页只有一句话“and the next nothing is 44827”,翻译成中文的意思是“下一个nothing是44827”。在网址栏的有nothing这个参数,应该是把网址栏里的12345换成44827。试了下确实成功了,但是还是类似的文字,只是数字改变了。
再把提示的数字输进去一下试试。
多了几个红色的单词,意思是“你的手一定累了”。。。确实累了QAQ。再试了几次改变输入的数字,都是这样的形式。。。这也太麻烦了吧QAQ。难怪他会说我的手累了。。。
诶!可以用requests库去自动获取网址啊!(因为我不会用urllib)思路是先获取这个网页,然后用re库获取网页里的数字,再将这个数字替换到网址里再次访问。(如果不会用requests可以看一下附带的文章)。
嗯?突然出现了意外。网页里没有数字,而是另一句话“Yes. Divide by two and keep going.”,意思是“把数字除以2然后继续”,没办法,只能修改一下代码了。
好像又出意外了。。。因为re.search()获取的是第一个数字,所以到那个网页时就获取了错误的数字,修改一下正则表达式去获取后面的数字吧QAQ。
虽然出错了,但好像答案出来了?把“peak.html”换到网址里试试。
成功了呢~
? ? ? ? ? ? ? ? ? ? ? ?