回顾
if判断
单分支结构
if 条件:
代码块
双分支结构
if 条件:
代码块
else:
代码块
多分支结构
if 条件1:
代码块
elif 条件2:
代码块
elif 条件3:
代码块
else:
代码块
猜年龄游戏
age=18
inp_age =int(input('年龄:'))
if inp_age ==age:
print('猜对了')
elif inp_age <age:
print('猜小了')
else:
print('猜大了')
for循环
for+ break
中断本层循环
for+continue
中断本次循环,不执行下面的代码
for 循环嵌套
for i in range(1,13):
for j in range(1,32):
print(f'{i}月{j}日')
requests模块的使用
response = requests.get()
response.text
response.content
resopnse.encoding='utf8'
1. 爬虫三部曲
-发送请求
-解析数据
-保存数据
2. 爬取豆瓣电影接口
- 分析目标网站的请求流程
-下拉发送异步请求
-接口地址 --->json
3.json
json.loads() #将json格式转换成python格式
json.dumps() #将python格式转换成json格式
4.爬取中国黄页手机号码
user-agent:证明是浏览器
今日所学
异常处理
try:
可能出错的代码块 #有错误就跳过,没错就执行
except exception: #错误被跳过了(捕捉了)
pass #啥也不做
LeetCode
做题先分析题目
字符串的内置方法
s=‘mqb funny’
1. 索引取值
print(s[0])
2. 切片
print(s[0:4])
3. 成员运算
print(‘mqb’ in s)
4. for循环
for i in s:
print(i)
5. len()字符串长度
print(i)
6. .strip()默认去掉两端空格
print(s.strip)
7. lstrip()/rstrip() 去掉左端/右端空格
8. startswith()/endswith():以。。开头/以。。结尾
9. find()/index():获取每一个元素的索引位置
print(s.find('a')) #找不到返回-1
print(s.index('a'))#找不到就报错
10. join() 把列表内的元素拼接出来
print(‘ ’,join(【‘a’,‘b’,‘c’】))
11. split():切割
s='a*b*c'
print(s.split('*'))
12. center/ljust/rjust:打印美观 居中/居左/居右
print(s.center(20,'-')
print(s.ljust(20,'-')
print(s.rjust(20,'-')
13.isdigit()/isalpha()
s='a'
print(s.isdigit())# 是否为纯数字
print(s.isalpha())# 是否为纯字母
14. count() :计数
print(s.count('mqb'))
ctrl+alt+l-->符合pep8标准 自动排版
测试:
黑盒测试:
对用户所能看到的界面进行测试。
白盒测试:
对软件的性能进行测试。
手动测试:
人为去检测bug。
自动化测试:
通过代码写好的自动化测试脚本检测bug。
selenium请求库:
1.什么是selenium?
- 是一个自动化测试工具。
2.为什么要使用selenium?
- 优点:
- 通过它可以驱动浏览器,跳过登录滑动验证
- 缺点:
爬虫效率低
3.怎么使用selenium?
- 安装驱动
- http://npm.taobao.org/mirrors/chromedriver/2.38/
- 安装selenium请求库
- pip3 install selenium
- html标签查找
- 通过属性查找
- 优先使用:
id: 值是唯一
class: 值可以有多个
name: 值的input里面拥有的唯一属性
- element:查找第一个
- elements:查找所有
- css_selector属性选择器查找
id: #p-price class: .p-price
<div id="p-price">
<div class="p-price">
<strong class="J_45269140635" data-done="1">
<em>¥</em>
<i>238.00</i>
</strong>
</div>