赞
踩
URL简介
URL是Uniform Resource Locator的简写,统一资源定位符
一个url由以下几部分组成
scheme://host.port/path/?query-string=xxx&anchor
代码演示使用ipython,关于ipython
URL切割
In [1]: import urllib
In [2]: urllib.parse.urlparse("https://www.baidu.com/s?user=test")
Out[2]: ParseResult(scheme='https', netloc='www.baidu.com', path='/s', params='', query='user=test', fragment='')
In [3]: type(urllib.parse.urlparse("https://www.baidu.com/s?user=test"))
Out[3]: urllib.parse.ParseResult
In [4]: urllib.parse.urlparse("https://www.baidu.com/s?user=test").scheme
Out[4]: 'https'
In [5]: type(urllib.parse.urlparse("https://www.baidu.com/s?user=test").scheme)
Out[5]: str
# 只有域名
In [16]: urllib.parse.urlparse("www.baidu.com")
Out[16]: ParseResult(scheme='', netloc='', path='www.baidu.com', params='', query='', fragment='')
暂定
In [1]: import urllib
In [2]: urllib.parse.urlsplit("https://www.baidu.com/s?user=test")
Out[2]: SplitResult(scheme='https', netloc='www.baidu.com', path='/s', query='user=test', fragment='')
In [13]: type(urllib.parse.urlsplit("https://www.baidu.com/s?user=test"))
Out[13]: urllib.parse.SplitResult
In [14]: urllib.parse.urlsplit("https://www.baidu.com/s?user=test").scheme
Out[14]: 'https'
In [15]: type(urllib.parse.urlsplit("https://www.baidu.com/s?user=test").scheme)
Out[15]: str
# 只有域名
In [18]: urllib.parse.urlsplit("www.baidu.com")
Out[18]: SplitResult(scheme='', netloc='', path='www.baidu.com', query='', fragment='')
暂定
正则表达式 | 描述 |
---|---|
? | 匹配之前的项的1次或0次 |
[] | 匹配在[字符]之中的任意字符 |
\d | 相当[0-9] |
{n} | 匹配之前的项n次 |
+ | 匹配之前的项1次或多次 |
| | 指明两项之间的一个选择 |
\w | 包含大小写字母数字和下划线 相当于([0-9a-zA-Z]) |
. | 匹配除换行符 \n 之外的任何单字符。 |
用圆括号将所有选择项括起来,相邻的选择项之间用|分隔。但用圆括号会有一个副作用,使相关的匹配会被缓存,此时可用?:放在第一个选项前来消除这种副作用。其中 ?: 是非捕获元之一
In [19]: import re
In [20]: string = 'Runoob 的网页地址为:https://www.runoob.com,Google 的网页地址为:https://www.google.com'
In [21]: re.findall('https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))+', string)
Out[21]: ['https://www.runoob.com', 'https://www.google.com']
In [22]: import socket
In [23]: socket.gethostbyname("www.baidu.com")
Out[23]: '220.181.38.149'
In [24]: socket.gethostbyname("https://www.baidu.com")
---------------------------------------------------------------------------
gaierror Traceback (most recent call last)
<ipython-input-24-da327ed90c22> in <module>
----> 1 socket.gethostbyname("https://www.baidu.com")
gaierror: [Errno 11001] getaddrinfo failed
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。