一、Python 语言基础
语言定位 解释型、面向对象、简洁易读,适合Web安全、爬虫、自动化,只用Python3(Python2已停止维护)。
基础语法
-
注释:# 单行;''' ''' / """ """ 多行
-
变量:直接赋值,无需声明类型
-
输出:print();输入:input()
-
6大数据类型:数字、字符串、列表、元组、字典、集合
流程控制
-
判断:if-elif-else
-
循环:for / while
-
中断:break 跳出;continue 跳过
-
核心规则:用缩进区分代码块,不能乱对齐
函数
-
用 def 定义,可传参、可返回值
类与对象
-
类:模板;对象:实例
-
魔术方法:__init__ 初始化、__del__ 销毁
二、模块、库与 pip 包管理(开发必备)
模块 .py 文件,封装代码,方便复用。
两种导入方式
-
import requests:导入整个库
-
from lxml import etree:精准导入部分
pip 常用命令
-
安装:pip install 库名
-
卸载:pip uninstall 库名
-
查看已装:pip list
-
国内镜像加速(推荐): pip install xxx -i https://mirrors.aliyun.com/pypi/simple/
-
批量安装依赖:pip install -r requirements.txt
三、爬虫开发核心(请求 + 解析)
1. 核心第三方库
-
requests:发送HTTP请求,模拟浏览器
-
lxml.etree:解析HTML
-
json:处理JSON接口数据
-
scapy:网络数据包操作(课程提及)
2. 请求头 headers(反爬关键)
-
User-Agent:伪装浏览器(必加)
-
Referer:伪造来源
-
Cookie:带登录态,访问有权限页面
3. HTML解析(XPath)
-
//:全局查找
-
[@class="xxx"]:按属性匹配
-
[1]:取第一个
-
/text():提取文本
-
示例://div[@class="item"]//span[@class="title"][1]/text()
4. JSON解析
-
response.json():直接转Python字典
-
用 data["key"] 取值
5. 异常处理
-
try-except-pass:遇到错误不中断,继续执行
6. 动态URL拼接
-
模板:url = "http://xxx?id={}"
-
填充:url.format(i)
四、Web安全实战(课程重点)
1. 越权漏洞检测
打开Burp Suite,配置代理抓包
找到用户信息请求包
修改id参数
查看是否返回其他用户数据(水平/垂直越权)
2. 目录扫描工具 dirsearch
-
作用:爆破隐藏目录、敏感文件、源码备份
-
命令:dirsearch -u 目标网址
-
重点关注:200 成功、301/302 重定向、403 禁止
-
高危文件:web.zip、backup、config.php
3. 其他安全工具
-
sqlmap:自动化SQL注入检测利用
-
Burp Suite:抓包、改包、漏洞测试
五、完整代码模板
1. 豆瓣电影爬虫(HTML解析)
import requests
from lxml import etree
headers = {"User-Agent":"浏览器UA"}
url = "https://movie.douban.com/top250"
resp = requests.get(url, headers=headers)
tree = etree.HTML(resp.text)
titles = tree.xpath('//div[@class="item"]//span[@class="title"][1]/text()')
2. 用户数据批量爬取(JSON+越权)
import requests
url_temp = "http://xxx?id={}"
headers = {"User-Agent":"…", "Cookie":"…"}
users = []
for i in range(1,21):
try:
res = requests.get(url_temp.format(i), headers=headers)
data = res.json()
if data.get("ok"):
users.append(data)
except:
pass
六、课程整体总结
Python优势:代码简洁、库丰富,大幅提升安全/爬虫效率
爬虫 = 请求 + 解析 + 循环 + 异常处理
安全核心:抓包改参测越权、目录扫描找备份、工具自动化挖漏洞
必备技能:requests、XPath、JSON、try-except、dirsearch、Burp Suite


