bugku 秋名山车神

本文介绍了Python爬虫的基础知识,包括使用requests库获取网页数据,通过正则表达式re.findall和re.sub处理数字信息,以及使用POST方法提交计算结果。脚本分为数据获取、正则解析和数据传输三个步骤,详细讲解了每个步骤的关键操作。
摘要由CSDN通过智能技术生成

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()用法

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值