栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

bugku 秋名山车神

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

bugku 秋名山车神

get新知识:一些有关python爬虫的基本知识 解题部分

 

题目中都是这样的大数字进行计算,并且需要短时间内计算,所以这不得不使用脚本进行解题,脚本如下

#bugku 秋名山车神 --爬虫练习
import requests
import re
​
s=requests.Session()
url='http://114.67.175.224:18569/'                              #网页的url
r=s.get(url)                                                    #以get的方式访问网站
r.encoding = 'utf-8'                                            #设置编码格式
a=r.text                                                        #将页面定义给a
#print(a)
​
n = re.findall(r'd.*?=',a)[0]                                  #通过re正则匹配出a中的数字
#print(n)
​
​
c=re.sub("[=]",'',str(n))                                       #去掉那个多余的'='
#print(c)
c=eval(c)                                                         #执行代码==》计算
​
o = s.post(url,data={'value':c})  #提交结果
print (o.text)

运行结果:

脚本分析

个人理解脚本分为三部分:1、获取数据 2、正则读取数据并处理 3、传输数据

1、获取数据

这部分利用了requests类的内置的方法,其中值得一提的是s=requests.Session()这部分,必须有目的是保持会话

 

2、正则读取数据并处理

这里用了两个re库中的两个内置函数

1、在import re中,(re.findall(pattern, string, flags=0)):返回string中所有与pattern相匹配的全部字符串,得到数组

2、re.sub是个正则表达式方面的函数,用来实现通过正则表达式,实现比普通字符串的replace更加强大的替换功能;

 

3、传输数据

题目中提示用post传输所以

 

特别感谢:

(27条消息) Bugku 秋名山车神_没有名字了。。的博客-CSDN博客

(27条消息) python re模块(正则表达式) sub()函数详解leo的学习之旅的博客-CSDN博客python sub函数

(27条消息) Python---re.findall的用法扫地di的博客-CSDN博客python re.findall()用法

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1033750.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号