零基础学习Python爬虫

python语法基础

程序随机生成一个1-10的随机数,用户来猜,大则提示偏大,小则提示偏小,猜中则程序结束。

//1.python中语句结束没有分号
import random		//2.导入random包
key = random.randint(1,10)    //3.获得1-10中的一个随机数
temp = input("猜数字是几:")	//4.输入一个数,并将其赋值给temp变量(temp为字符串类型),input函数中可写入相关提示信息在屏幕上输出
num = int(temp)		//5.将字符串类型强制转换为整型
while num != key:	//6.while循环,后跟分号:,用缩进来区分语句块
    if key > num:		//7.if-else语句,没有大括号,用缩进来区分语句块
         temp = input("the number is a little small,guess again:")
         num = int(temp)
    else:
         temp = input("the number is a little big,guess again:")
         num = int(temp)
print("finally ,you are right,game over");		//8.输出语句print,与C类似

python操作符

  1. 10 / 4 = 2.5 //是算数除法,而非其他编程语言得出的结果为2
  2. 10 // 4 = 2 //与其他编程语言类似,为floor除法(向下取整)
  3. 3 ** 2 = 9 //幂运算,表达式意为3的2次幂,结果为9
  4. python中逻辑操作符为 andornot,没有&&||^
  5. python中可以使用90这种数学表达式,无需用and连接两个表达式
  6. python三元操作符:small = x if x < y else y
  7. if-elseif-else语句,在python中else if语句简化为 elif
  8. assert断言,当assert后面的条件为flase时,程序自动崩溃并抛出AssertionError异常,常用来确保程序中某个条件为真才能让程序正常工作,或用来debug
  9. for循环,for 目标 in 表达式 :,类似于C++中的for in 循环
  10. range函数,range(1,10,2),生成1,3,5,7,9,常和for循环搭配

python列表(数组)

  1. 即数组,但python列表可存放不同数据类型的元素,如创建一个混合型列表
    member = [1,'liwen',3.14,[1,2,3]]
  2. member.append(newElement)往列表尾添加一个元素
  3. member.extend([element1,element2])往列表尾添加多个元素,参数为列表
  4. member.insert(0,fisrtElement)往列表任意位置添加元素第一个参数为index
  5. len(member)获取列表长度:
  6. member.remove('liwen'),移除指定元素,但如果该值不存在则会报错
  7. del member[0],del是个语句而非函数,可根据索引删除元素;del member可删除整个member列表
  8. member.pop(),删除并返回列表最后一个元素值;也可member.pop(1),删除并返回列表第二个元素值
  9. 列表分片,member2 = member[1 : 3],返回member中索引值为1,2的元素(不包括3),赋给member2列表;member[1 : ],member[ : 4],member[ : ]
  10. 'liwen' in member,将返回True,'liwen’在member列表中;同理'zhong' not in member也返回True,'zhong’不在member列表中
  11. member * 2将列表复制2遍
  12. member.count('liwen'),计算列表中’liwen’这个元素出现的次数;member.index('liwen'),找出列表中’liwen’这个元素第一次出现的位置;
  13. member.reverse()颠倒列表;
  14. member.sort()从小到大排序列表,member.sort(reverse = True),从大到小排序列表

python格式化输出,函数

def factorial(n):
    result = n
    for i in range(1,n):
        result *= i;
    return result
number = int(input("please input a number:"))
result = factorial(number)
print("%d的阶乘是:%d" %(number,result))

lambda表达式,filter()过滤器,map()映射

lambda表达式,匿名函数,比普通函数更简洁
执行list(map(lambda x:x*2,range(10))),返回[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
执行list(filter(lambda x:x%2,range(10))),返回 [1, 3, 5, 7, 9]

元组,列表,字典,集合

定义元组:tuple1 = (1,2,3,4)元组是加了限制的列表,已定义的元组不可被修改
定义列表:list1 = [1,2,3,4]
定义字典:dict1 = {1 : 'one', 2 : 'two', 3 : 'three', 4 : 'four'}字典为映射关系,相当于PHP中的关联数组,dict1.get(index)访问字典元素;dict1.clear()清空字典元素
定义集合:set1 = {1,2,3,4}集合中元素唯一
访问元素都可用tuple1[index],list1[index],dict1[index]

python对象

对象定义与调用:
>>> class Ball:
def setName(self,name):
	self.name = name
def kick(self):
	print("oh,shit! %s touch me" % self.name)

>>> a = Ball()
>>> a.setName("lewis")
>>> a.kick()
oh,shit! lewis touch me

python类中私有化即在变量名或方法名前加两个下划线"__"即可

  • 继承
    class Child(Parent):
    ......

python爬虫基础

python爬虫工作流程:
我们想用爬虫爬取数据,首先得有html文档给你爬(requests),然后从html文档中找出自己需要的那部分数据(xpath,beautifulsoup),最后将爬取的数据永久存储到数据库(mongodb)
beautifulsoup学习:https://cuiqingcai.com/1319.html

你可能感兴趣的:(Python)