wp-bugku-秋名山老司机

本文介绍了一种使用Python脚本解决复杂表达式的技巧,通过抓取网页内容并解析其中的数学表达式,最终通过计算得到目标值。文章详细展示了如何利用requests和re库完成这一过程。

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

打开连接提示要两秒钟计算出一个变态的表达式
在这里插入图片描述
先抓个包看看
在这里插入图片描述
只能上脚本了

import requests
import re 		//这个库一般用来匹配文字

url = 'http://123.206.87.240:8002/qiumingshan/'		//url
r = requests.session()		//requests.sesssion()对象可以跨请求的保存某些参数
g = r.get(url)		//产生一个请求资源的对象,get方法
ans = re.findall('<div>(.*?)=?;</div>',g.text) 		//使用re库中的findall方法,匹配正则。第一个参数是要匹配的正则表达式,第二个参数是将我们请求到的资源变成字符串的形式,再以列表的形式返回到变量ans中
ans = "".join(ans) 		//将ans从列表的形式转化为字符串的形式
ans = ans[:-2] 			//去掉ans最后的两个字符,这里即去掉=?
post = eval(ans) 		//执行我们处理完的字符串,即那个变态的表达式
data = {'value':post} 		//构造data的post部分
flag = r.post(url,data=data) 		//生成post请求,post的值是算出来的结果
print(flag.text) 		//打印返回的数据即flag值

在这里插入图片描述
问题:

   <div>(.*?)=?;</div>

这一段正则没有搞明白,有没有大牛给解释一下,感谢!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值