python requests库与正则表达式的一次实战

在实验吧看到一道编程题  http://ctf5.shiyanbar.com/jia/在三秒钟的时间内,计算出这个大数,而且三秒必须完成获取和提交数据的任务。刚开始写了一个程序:每次把这个字符复制过来,然后再把结果粘回去。后来我发现,手速这个东西,我可能没有。然后想了想能不能使用python的requests库结合正则表达式来做呢?答案是肯定的。由于之前没有接触过requests库,就先看看官方文...
摘要由CSDN通过智能技术生成
在实验吧看到一道编程题   http://ctf5.shiyanbar.com/jia/

在三秒钟的时间内,计算出这个大数,而且三秒必须完成获取和提交数据的任务。

刚开始写了一个程序:


每次把这个字符复制过来,然后再把结果粘回去。

后来我发现,手速这个东西,我可能没有。

然后想了想能不能使用python的requests库结合正则表达式来做呢?

答案是肯定的。

由于之前没有接触过requests库,就先看看官方文档。

http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

里面介绍了requests库的requests.get方法和post方法

一般的页面用get和post方法就可以完成,但是在实际使用的时候发现用get和post方法会导致产生两个会话,导致提交无法完成。类似这样:




可以发现两个值的内容完全不一样。

由于了解不够,急于求成没了解自己的需求(个人检讨)

其实在requests库中还有高级用法“会话对象”session实例:

r=requests.Session()
通俗理解就是当你和他人谈话的时候可以执行到对话结束。

而使用get和post方法时候每次生成一个新的会话。

http://docs.python-requests.org/zh_CN/latest/user/advanced.html#advanced   (高级用法文档) 

准备工作完成,接下来就应该分析问题了,我们需要把网页中的计算式提取出来,然后进行运算,运算完将计算结果post出去。

分析网页:


需要将<div name='my_expr'>(9044 + 461) x (6060 - 80) - (793 + 396 - 437) x 979 </div>=?

这个字符串提取出来,使用正则表达式。

 
模式
描述
^
匹配字符串的开头
$
匹配字符串的末尾。
.
匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符。
[...]
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值