Python爬虫基础包括HTTP协议、HTML、CSS和JavaScript语言基础、requests库的使用、Beautiful Soup库的使用、xpath和正则表达式的使用等。此外,还应该了解反爬虫机制和爬虫的一些常见问题及解决方法。
爬虫学习暂时咕咕了。。。,等有空再继续更新。
一、基础知识准备
Python基础语法还是很简单的,我通过一个个简单的小段代码来进行学习,所需掌握的知识点都包含在这段段代码中,每段代码都有相应详细注释,如果你有其他语言的基础那么Python基础就是轻轻松松的事。
1、条件判断语句
score = 60
if score >=90 and score <=100:
print("本次考试等级为A")
elif score >=70 and score <90: #elif == else if
print("本次考试等级为B")
else:
print("本次考试等级为C") #output: 本次考试等级为C
2、循环语句
2.1 for循环
for i in range(5): #输出5个数 [0 1 2 3 4]
print(i)
for i in range(0,10,3):#从[0,10),以3为间距输出 #output: [0 3 6 9]
print(i)
for i in range(-10,-100,-30):#从[-10,-100),以-30为间距 #output: [-10 -40 -70]
print(i)
name="chengdu"
for x in name:
print(x) #output: [c h e n g d u]
a = ["a", "b", "c"]
for i in range(len(a)):
print(i, a[i]) #output: [0 a 1 b 2 c]
2.2 while循环
i=0
while i<3:
print("这是第%d次循环:"%(i+1))
print("i=%d"%i)
i+=1
'''#output:
这是第1次循环:
i=0
这是第2次循环:
i=1
这是第3次循环:
i=2
'''
count = 0
while count<3:
print(count,"小于3")
count +=1
else:
print(count,"大于或等于3")
'''#output:
0 小于3
1 小于3
2 小于3
3 大于或等于3
'''
3、字符串
str="chengdu"
print(str) #chengdu
print(str[0]) #c
print(str[0:5]) #[0,5) cheng
print(str[1:7:2]) #[起始位置:结束位置:步进值] hnd
print(str[5:]) #显示5以后的 du
print(str[:5]) #显示5以前的 cheng
print(str+",hello") #字符串连接 chengdu,hello
print(str*3) #打印3次 chengduchengduchengdu
print("hello\nchengdu") #\n换行 hello chengdu
print(r"hello\nchengdu") #前面加"r",表示显示原始字符串,不进行转义hello\nchengdu
print("-"*30) #打印30个“-”
4、列表-List
列表中的每个元素都分配一个数字 - 它的位置或索引,第一个索引是0,第二个索引是1,依此类推。
4.1 列表定义
namelist = ["小张","小王","小李"]
testlist = [1,"测试","str"] #列表中可以存储混合类型
testlist = [["a","b"],["c","d"],["e","f","g"]] #列表嵌套
4.2 列表元素输出
namelist = ["小张","小王","小李"]
#输出指定元素
print(namelist[1]) #output: 小王
#遍历输出
for name in namelist:
print(name)
'''output
小张
小王
小李
'''
#使用枚举函数enenumerate(),同时拿到列表下标和元素类容
for i,name in enumerate(namelist):
print(i,name)
'''output
0 小张
1 小王
2 小李
'''
4.3 列表元素切片
如下所示:L=[‘Google’, ‘Python’, ‘Taobao’]

4.4 列表元素追加
#append
a = [1,2]
b = [3,4]
a.append(b) #将b列表当做一个元素加入到a中
print(a) #output: [1, 2, [3, 4]]
#extend
a = [1,2]
b = [3,4]
a.extend(b) #将b列表中的诶个元素,逐一追加到a中
print(a) #output: [1, 2, 3, 4]
#insert
a=[1,2,4]
a.insert(2,3) ##在下标为2的位置插入3 #指定下标位置插入元素(第一个表示下标,第二个表示元素)
print(a) #output: [1, 2, 3, 4]
4.5 列表元素删除
#del
a = ["小张","小王","小李"]
del a[2] #删除指定下标元素
print(a) #output: ['小张', '小王']
#pop
a = ["小张","小王","小李"]
a.pop() #弹出末尾元素
print(a) #output: ['小张', '小王']
#remove
a = ["小张","小王","小李"]
a.remove("小李") #直接删除指定内容的元素
print(a) #output: ['小张', '小李']
4.6 列表元素修改
a = ["小张","小王","小李"]
a[2] = "小红" #修改指定下标元素内容
print(a) #output: ['小张', '小王', '小红']
4.7 列表元素查找
#in / not in
a = ["小张","小王","小李"]
findName = input("请输入你要查找的学生姓名:")
if findName in a:
print("找到")
else:
print("未找到")
#index
a = ["小张","小王","小李"]
print(a.index("小王",0,2)) #可以查找指定下标范围的元素,并返回找到对应数据的下标 #output: 1
print(a.index("小李",0,2)) #范围区间:左开右闭[0,2) # ValueError: '小李' is not in list
#count
print(a.count("小王")) #查找某个元素出现的次数 #output: 1
4.8 列表元素反转和排序
a = [1,4,2,3]
a.reverse() #将列表所有元素反转
print(a) #output: [3, 2, 4, 1]
a.sort() #升序
print(a) #output: [1, 2, 3, 4]
a.sort(reverse=True) #降序
print(a) #output: [1, 2, 3, 4]
5、前段知识综合练习
Topic: 将8个老师随机分配到3个办公室
import random
offices = [[],[],[]] #3个教室
teachers = ["A","B","C","D","E","F","G","H"] #8个老师
for teacher in teachers: #遍历teachers放入office中
index = random.randint(0,2) #产生随机数0,1,2
offices[index].append(teacher) #将teachers追加到office中
i=1 #office1
for office in offices: #输出每个office人数和对应的老师
print("office%d的人数为:%d"%(i,len(office)))
i += 1 #遍历offices
for name in office:
print("%s"%name,end="\t") #打印每个office老师的名字
print("\n") #打印完一个office换行
print("-"*20) #打印完一个office输出20个-