Spider_权威指南_ch03_None_global_urlparse

# 知识点补充:
# 1) None:
a = None
if a:
    print("非None")
else:
    print("None")

if a is not None:
    print("非None")
else:
    print("None")

# None
# None 
    
a = ''
if a:
    print("非空")
else:
    print("空")

if a != '':
    print("非空")
else:
    print("空")

# 空
# 空    
    
    
# 2) global 的用法:在函数内引用 列表,集合,元组,字典的时候,不需要使用 global
l=[1,2,3]
s=set(l)
dic={'k1':'v1'}
t=(1,2,3)  # 不可变类型
v='123'

def test():
    l.append(4)
    s.add(5)
    dic['k2']='v2'
    t2=list(t)
    print(t2)   # [1, 2, 3]
    global v
    v=v+'4'

test()
print(l)       # [1, 2, 3, 4]
print(s)       # {1, 2, 3, 5}
print(dic)     # {'k1': 'v1', 'k2': 'v2'}
print(v)       # 1234


# 3) 使用 urlparse解析 url:
# 我们通过parsed的各个属性来访问不同的部分

from urllib.parse import urlparse

url='https://www.cnblogs.com/Alexephor/p/11431950.html'
parsed = urlparse(url)  # 将字符串进行解析
print('scheme  :'+ parsed.scheme)     #网络协议 https
print('netloc  :'+ parsed.netloc)     #服务器位置(也可呢能有用户信息) www.cnblogs.com
print('path    :'+ parsed.path)       #网页文件在服务器中存放的位置  /Alexephor/p/11431950.html
print('params  :'+ parsed.params)     #可选参数 
print('query   :'+ parsed.query)      #连接符(&)连接键值对
print('fragment:'+ parsed.fragment)   #拆分文档中的特殊猫
# print('username:'+ parsed.username) #用户名
# print('password:'+ parsed.password) #密码
print('hostname:'+ parsed.hostname)   #服务器名称或者地址  www.cnblogs.com
print('port    :', parsed.port)       #端口(默认是80)   None
[1, 2, 3]
[1, 2, 3, 4]
{1, 2, 3, 5}
{'k1': 'v1', 'k2': 'v2'}
1234
scheme  :https
netloc  :www.cnblogs.com
path    :/Alexephor/p/11431950.html
params  :
query   :
fragment:
hostname:www.cnblogs.com
port    : None
# 爬取内链和外链的练习请见 权威指南 的随书代码

你可能感兴趣的:(Spider_权威指南_ch03_None_global_urlparse)