Pythoner集中营python爬虫

《python网络数据采集》——第一天

2018-07-16  本文已影响21人  三横一竖是我

7-16

学习pycharm的使用及复习基本语法

参考书籍:《Python编程:从入门到实践》
《编程小白的第一本python编程入门书》

pycharm的使用及常规设置

new project→new file→python file
默认设置更改:file→setting
高效使用python的系列文档:https://pedrokroger.net/getting-started-pycharm-python-ide/(暂时好像没啥用)

基本语法

字符串

输入

what_he_does = 'plays'
his_instruments = 'guitar'
his_name = 'Robert'
artist_intro = his_name + what_he_does + his_instruments

print(artist_intro)

Run

F:\pythonwork\venv\Scripts\python.exe F:/pythonwork/a01.py
Robertplaysguitar

Process finished with exit code 0

不同类型字符串不能合并
查看类型print(type(word))
转化类型num2=int(string)

字符串的分片与索引

字符串可以通过string[x]的方式进行索引、分片,字符串的分片实际上可以看做从字符串中找出你要截取的东西,复制出来一小段长度,储存在另一个地方。

name = 'my name is mike'

print(name[0])
print(name[-4])
print(name[11:14])
print(name[5:])
print(name[:5])

Run

m
m
mik
me is mike
my na

第一个字符是0,最后一个是-1

接下来面对一个场景,就是在登陆账户的时候,密码需要遮挡,账户信息只显示后四位。

phone_number = '1386-666-0006'
hiding_number = phone_number.replace(phone_number[:9],'*' * 9)
print(hiding_number)

Run

*********0006

接下来解决另一个问题,手机中号码查找功能

search = '168'
num_a = '1386-168-0006'
num_b = '1681-222-0006'
print(search + ' is at ' + str(num_a.find(search) + 1 ) + ' to'+ str(num_a.find(search) + len(search)) + ' of num_a')
print(search + ' is at ' + str(num_b.find(search) + 1 ) + ' to'+ str(num_b.find(search) + len(search)) + ' of num_b')

Run

168 is at 6 to8 of num_a
168 is at 1 to3 of num_b

函数

创建函数

def fahrenherit_converter(C):
    fahrenherit = C * 9/5 +32
    return str(fahrenherit) + 'F'

C2F = fahrenherit_converter(35)
print(C2F)

位置参数传入的方式

trapezoid_area(base_up=1, base_down=2, height=3)
trapezoid_area(1,2,3)

逻辑控制与循环

成员运算符与身份运算符

album = ['Black Star','David Bowie',25,True]
album.append('new song')
'Black Star' in album

append用于添加
第三行代码返回true or false

嵌套循环

for i in range(1,10):
    for j in range(1,10):
    print('{} X {} = {}'.format(i,j,i*j))

数据结构

Python有四种数据结构:列表,字典,元组,集合。
list = [val1,val2,val3,val4]
dict = {key1:val1,key2:val2}
tuple = (val1,val2,val3,val4)
set = {val1,val2,val3,val4}

列表
列表可以装进python的所有对象
fruit.insert(1,'grape')插入必须指定位子
remove()删除列表中元素

字典
字典这些数据结构特征如现实中字典一样,使用名称-内容进行数据的构建,python中分别对应key-value
key不可重复不可改变,value可以
NASDAQ_code.update({'FB':'Facebook','TSLA':'Tesla'})添加元素
del NASDAQ_code['FB']删除元素,用key来索引

元组
元组可以别看作是稳定的列表,不能被修改

集合
不能别切片也不能被索引

列表推导式的用法
list = [item for item in iterable]
item是想要放在列表的元素,后面就是循环

d = {i:i+1 for i in range(4)}
g = {i:j for i,j in zip(range(1,6),'abcde')}
g = {i:j.upper() for i,j in zip(range(1,6),'abcde')}

class CocaCola:
    formula = ['caffeine','sugar','water','soda']
print(CocaCola.formula)
for element in coke_for_me.formula:
    print(element)

创建属性object.new_attr

class cocacoal:
    formula = ['caffeine','suger','water','soda']
    def drink(self,how_much):

        if how_much == 'a sip':
            print('cool')
        if how_much == 'whole bottle':
            print('headache')

ice_coke = cocacoal()
ice_coke.drink('a sip')

python中存在一些方法被称为魔术方法,init()意味着在创建实例的时候不去引用命令也会被自动执行

类的继承

class CaffeineFree(CocaCola):
    caffeine = 0
    ingredients = [
        'High Fructose Corn Syrup',
        'Carbonated Water',
        'Phosphoric Acid',
        'Natural Flavors',
        'Caramel Color',
]
coke_a = CaffeineFree('Cocacola-FREE')
coke_a.drink()

在新的类caffeinefree后面括号中放入cocacola,表示这个类继承于cocacola这个父类,caffeinefree成了子类

安装自己的库
找到python文件夹,找到下面的site-packages文件夹,记住你的文件名,将你写的py文件放进去

使用第三方库
https://awesome-python.com/
比如要找爬虫的库,查找web Crawling这个分类

pycharm中安装库
file→default settings
搜索project interpreter选择当前版本,按加号添加库,搜索,install

使用pip安装库
python3 -m pip install PackageName
pip list 查看库
pip install --upgard pip 升级pip

上一篇下一篇

猜你喜欢

热点阅读