我正在做一些CTF,并编写了以下脚本:
import requests
page = requests.get("http://ctf.slothparadise.com/about.php").text
p_split = page.split("<p>")
p2_split = p_split[3].split("</p>")
print(p2_split)
我的输出是:
['You are the 135181th visitor to this page.\n Every thousandth visitor gets a prize.', '\n </div> <!-- /container -->\n </body>\n</html>\n']
如何从列表中提取值135181
?
答案 0 :(得分:3)
您可以尝试使用regex
,这特别容易,因为尽管数字以1或2结尾,但似乎它们并没有改变'th'。
import re
import requests
page = requests.get("http://ctf.slothparadise.com/about.php").text
re.findall("\d+(?=th)", page)
输出:
['135335']
答案 1 :(得分:0)
要使其适用于任何值,请修改以下内容:
my_split = ['You are the 135181th visitor to this page.\n Every thousandth visitor
gets a prize.', '\n </div> <!-- /container -->\n </body>\n</html>\n']
visitor_num = my_split[0].split('You are the ', 1)[1].split('th')[0]
print(visitor_num)
实际上,我也可以在评论中看到类似的解决方案……希望这对您有用! 为了将来参考,请使用split函数和索引进行查找-您一定会再次使用它。