收錄於話題php
#Python挑戰html
6個python
有這麼一個網站「http://www.pythonchallenge.com/」,裏面有33個使用python去完成的挑戰,經過這些挑戰能夠令咱們更熟悉python。今天咱們來挑戰第5關。第5關網址:http://www.pythonchallenge.com/pc/def/linkedlist.php正則表達式
這一關竟然什麼提示都沒有!提示難道又藏在網頁代碼裏?按F12鍵打開看一下。ide
英文意思是「urllib可能會有幫助,不要什麼都不嘗試,由於它永遠不會結束。400次就夠了」(urllib是python自帶的訪問網址的庫)。emmm不知道有什麼用。可是鼠標移到圖片上面的時候,好像能夠點擊,點擊一下看看。網站
點擊以後的網頁只有一句話「and the next nothing is 44827」,翻譯成中文的意思是「下一個nothing是44827」。在網址欄的有nothing這個參數,應該是把網址欄裏的12345換成44827。試了下確實成功了,可是仍是相似的文字,只是數字改變了。url
再把提示的數字輸進去一下試試。spa
多了幾個紅色的單詞,意思是「你的手必定累了」。。。確實累了QAQ。再試了幾回改變輸入的數字,都是這樣的形式。。。這也太麻煩了吧QAQ。難怪他會說個人手累了。。。翻譯
誒!能夠用requests庫去自動獲取網址啊!(由於我不會用urllib)思路是先獲取這個網頁,而後用re庫獲取網頁裏的數字,再將這個數字替換到網址裏再次訪問。(若是不會用requests能夠看一下附帶的文章)。3d
嗯?忽然出現了意外。網頁裏沒有數字,而是另外一句話「Yes. Divide by two and keep going.」,意思是「把數字除以2而後繼續」,沒辦法,只能修改一下代碼了。
好像又出意外了。。。由於re.search()獲取的是第一個數字,因此到那個網頁時就獲取了錯誤的數字,修改一下正則表達式去獲取後面的數字吧QAQ。
雖然出錯了,但好像答案出來了?把「peak.html」換到網址裏試試。
成功了呢~