Python 爬虫 学习(一)

目录

1.Python系统环境安装 &  Pycharm

1.2   导入python相应的库(使用阿里镜像源)

2python语法基础  

    2.1基础数据类型 & 多元数据类型   

2.2逻辑与循环

2.3函数

2.4迭代器 & 生成器                  a={1,2,3,4........}

2.5多线程


1.Python系统环境安装 &  Pycharm

python官网下载

 

 

界面挺好看的

系统自动创建的文件,可以手动运行

 

 

1.2   导入python相应的库(使用阿里镜像源)

 

 

可以看到下载的速度师非常缓慢的,可以采用的国内的下载地址

 

设置国内的阿里镜像源

文件内容:

[global]

index-url=https://mirrors.aliyun.com/pypi/simple

[installed]

trusted-host=mirrors.aliyun.com

 

 

2python语法基础  

    2.1基础数据类型 & 多元数据类型   

#学会使用快捷键1

#Demo1 格式转换

print(int(3.17))

print(float(6))

 

#Demo2 列表 学会使用列表的嵌套功能

list_data = ['Allen','entrepreneur',23]

list_data1 = [['Michael','teacher'],(1,2,3),{'Name':'Allen','Hobbies':'Read & Run'}]

print(list_data)

print(list_data1)

 

#Demo3 修改个人信息

#增

person_info =['Allen','Male']

person_info.append(1.80) #增加自己的身高

person_info.insert(1,23) #增加自己的年龄

print(person_info)

#改

person_info[3]=1.81 #为自己增高,哈哈

person_info[0:2]=['Handsome boy',18+1] #为自己带盐(哦,代言)

print(person_info)

#查

print(person_info[2])

print(person_info[0:2])

#删

person_info.pop(2) #基于索引

print(person_info) #堆栈 push pop

person_info.remove(19)#基于内容

print(person_info)

del person_info[0:2] #基于索引删除

print(person_info)

person_info.clear()#删除全部列表的元素

del person_info #删除整个列表

#总结:1.查询:无需由数可替换数据 修改需要 2.pop 默认删除最后一个,如果有指定,那就删除指定的内容

 

 

#Demo3 字典

dict_1 = dict() #空值创建

dict_2 = {}

#非空值创建的三种方式

dict_3 = {'姓名':'Allen','年龄':23}

dict_4 = dict({'Name':'小龙人','Age':'23'})

dict_5 = dict(name='金丝猴',age=23)

 

#python中的字典表里有的是item,item由键值对组成 []() 外不加‘’ ,防止编程字符串

dict_6 = {'Name':('Michael','Allen'),'cities':['Beijing','Shanghai']}

print(dict_6)

 

info = {'Name':'Allen','City':'Shanghai','Job':'Data analyst'}

print(info)

#增删改查 操作

info['Desire']='Entrepreneur'

info['City']='San Francisco';

print(info['Name'])

del info['Job']

print(info)

 

 

 

2.2逻辑与循环

 

#判断语句 满足条件则if后输出 不然else后的语句输出

A_learn_mode = 'active'

if(A_learn_mode.__contains__('active')):print("Good for you")

else:

print("Find your love!")

B_learn_mode = 'I do not know'

if(B_learn_mode.__contains__('active')):print("Good for you")

else:

print("Find your love!")

 

#for

for name in A_learn_mode:

print(name)

#如果我们要打印5次active呢?

# 接下来引入 range() 方法

for i in range(5):

print('I wanna be active to lead my life!!')

 

 

#while 注意缩进 indent 同一级别,开头对齐!!!

number = 5

while number >= 0:

print('点火倒计时:'+str(number))

number = number-1

print('Take off!')

 

 

2.3函数

#声明函数

def My_Function():

print('Find your love')

 

#调用函数

My_Function()

 

 

 

2.4迭代器 & 生成器                  a={1,2,3,4........}

#迭代器是从常规可迭代对象转换过来的

I_data = ['Allen','Love','Coding','&','Basketball']

new_data = iter(I_data)

# print(next(new_data))

# print(next(new_data))

# print(next(new_data))

# print(next(new_data))

# print(next(new_data))

 

print("---------------------------------------------")

#测试for循环下的可迭代对象 和迭代器之间的不同表现

print("可迭代对象")

for i in I_data:

print(i)

for i in I_data:

print(i)

 

print("可迭代器")

for i in new_data:

print(i)

for i in new_data:

print(i)

print("----------------------------------------")

#怎样声明使用一个生成器?

#简单生成器

def practice_skills():

yield 'Target'

yield 'Focus'

yield 'Feedback'

yield 'Correct'

#注意缩进 indnext(my_learn)ent

my_learn = practice_skills()

print(next(my_learn))

print(next(my_learn))

print(next(my_learn))

print(next(my_learn))

 

print("---------------------------------------")

def breakthrough_logic():

n=['极度渴望','脚踏实地','突破舒适圈的勇气']

for i in n:

yield i

my_way = breakthrough_logic()

print(next(my_way))

print(next(my_way))

print(next(my_way))

 

#how to declare and transfer constructors?

def hello():

print('No.1')

return 'Finish'

print('Who know?')

print(hello())

 

def gen_num():

n = 0

while True:

yield n

n = n+1

print('从0到1的过程')

my_num = gen_num()

print(next(my_num))

 

# 总结:return 有类似与break,但此处结束,但我们可以观察到其有返回结果。

# yield生成器的标志之一,使用的时候返回结果,返回上次记录的位置

 

 生成器  保存算法,持续生成数据         可以想象:身边努力工作的人            有规则吗,就给你供应取出  

  n= n+1 

 next = 1 

 next = 2

   ....

 

 迭代器  拥有的方法    _iter_() 和_next_()       身边聪明的人,未必时刻出结果   单次使用,有需求给你取

 next =1 

 next =2 

   ...

 

 可迭代对象  可以看见的数据                 给你全部结果       有什么给你什么,数据增加,资源消耗巨大

 a={1,2,3............}

 

 

  迭代器在并不是对I——data引用,而是直接创建自己的对象。取出迭代器中的元素,如同子弹。取出一个,少一个。取完后会报错。如下图

 

 

 

2.5多线程

import threading

import os,time

#线程模块的引入

def my_task1(name,message):

print('What defines %s?'%name)

print(message)

 

def my_task2(name,message):

print('What decides %s?'%name)

print(message)

 

T1 = threading.Thread(target=my_task1,args=('Young Men','Personality'))

T2 = threading.Thread(target=my_task2,args=('Old Men','Obedience'))

T1.start()

T2.start()

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值