Python闯关

本文介绍了一个基于Python的挑战谜题解决过程,通过使用requests、urllib2等库获取网页内容,并利用正则表达式解析文本信息。代码实现了从指定网站下载压缩文件channel.zip,读取其中的readme.txt文件,并通过迭代解析文件名中的线索来揭示隐藏信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# coding:utf-8
import requests
import urllib2
import re

def getChanllenge(p):
    return urllib2.urlopen('http://www.pythonchallenge.com/pc/' + p).read()

import zipfile
##z = zipfile.ZipFile(getChanllenge('def/channel.zip'))
import StringIO
z = zipfile.ZipFile(StringIO.StringIO(getChanllenge('def/channel.zip')))
#print z.namelist()
print z.read('readme.txt')
def next(p):
    text = z.read('%s.txt'%p)
    m = re.match('Next nothing is ([0-9]+)', text)
    if not m: print text
    return m.group(1)

zpp = []
p = 90052
for i in range(len(z.namelist())):
    zpp.append(p)
    p = next(p)

print ''.join([z.getinfo('%s.txt' % p).comment for p in zpp])

明天查错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值