urlLIb包使用来操作web网页的url,可以利用它来进行爬取网页数据
urlLib 包 包含以下几个模块:
- urllib.request - 打开和读取 URL。
- urllib.error - 包含 urllib.request 抛出的异常。
- urllib.parse - 解析 URL。
- urllib.robotparser - 解析 robots.txt 文件。
urllib.request
urllib.request 可以模拟浏览器的一个请求发起过程。
语法:
实例:
read() - 读取网页整页内容
# 使用read() - 读取网页整页内容
from urllib.request import urlopen # 从urllib包的request模块中导入urlopen模块
myURL = urlopen("https://www.runoob.com/") # 请求网页
# 获取网页的 HTML 实体代码。
print(myURL.read()) # 输出 在read方法的括号中可以指定读取行数默认是整页
输出:
readline() - 读取文件的一行内容
from urllib.request import urlopen
myURL = urlopen("https://www.runoob.com/")
line = myURL.readline() # 读取网页一行内容
print(line)
输出:
readlines() - 读取文件的全部内容,它会把读取的内容赋值给一个列表变量。
from urllib.request import urlopen
myURL = urlopen("https://www.runoob.com/")
lines = myURL.readlines() # 读取文件的全部内容,它会把读取的内容赋值给一个列表变量。
for i in lines: # 用for循环将其遍历
print(i)
输出:
getcode() - 函数获取网页状态码
返回 200 说明网页正常,返回 404 说明网页不存在
实例:
import urllib.request
myURL1 = urllib.request.urlopen("https://www.baidu.com/")
print(myURL1.getcode()) # 200
try:
myURL2 = urllib.request.urlopen("https://www.baidu.com/aa")
except urllib.error.HTTPError as e:
if e.code == 404:
print(404) # 404
输出:
urlLib包的其他模块就不去写实例了,因为后续的requests模块完全可以将其替代,并且语法更加的简洁
总结:
在python3中将原来的urllib、urllib2模块整合到了一起,成了现在的urlLib包,而requests是在urlLib的基础上再进行封装的,也可以叫urllib3,有兴趣可以去了解一下python爬虫库的历史
requests比urlLib包更加的简洁,并且保留了其特性,增加了可读性
在接下来的笔记中我会详细的记录requests模块的使用
打卡第56天,对python大数据感兴趣的朋友欢迎一起讨论、交流,请多指教!