- 概述
- 爬虫
- 爬取网页
- 设置超时时间
- 处理网络异常
数据分析 (Data Analyze) 可以在工作中的各个方面帮助我们. 本专栏为量化交易专栏下的子专栏, 主要讲解一些数据分析的基础知识.
爬虫爬虫 (Web Crawler) 是一个自动提取网页的程序. 可以自动化浏览网络中的信息, 对信息进行自动化检索.
爬取网页urlopen()可以帮助我们打开一个远程的 url 链接, 并向这个链接发出请求, 获取响应结果. 返回的是一个 http 响应对象, 记录了本次 http 访问的响应头和响应体.
格式:
urllib.request.urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,
*, cafile=None, capath=None, cadefault=False, context=None):
例子:
import urllib.request
# 网页
url = "https://iamarookie.blog.csdn.net/"
# 发送请求
response = urllib.request.urlopen(url)
# 如果请求成功
if response.getcode() == 200:
# 打印信息
print(response.read().decode("utf-8"))
输出结果:
C:UsersWindowsAnaconda3pythonw.exe C:/Users/Windows/Desktop/爬虫/爬取网页.py我是小白呀的博客_CSDN博客-Python 基础,我要偷偷学 Java, 然后惊呆所有人,Python 机器学习基础领域博主 我是小白呀的博客 因为啥也不会, 默默做一只小白 提问 私信 关注 我是小白呀 码龄2年
吾本布衣, 出自纽约, 四周大山. 箪瓢屡空, 环堵萧然, 不弊风日. 吾好读书, 滴水石穿, 笨鸟先飞, 求知不断, 方能立足. 不羡孔北海之座上客常满, 但求吾辈架上书常在. 涸辙遗鲋, 暮成枯, 人而无志, 与彼何殊. Self-study Computer Science. 愿为 open source 自效微力. 天高地阔,欲往观之. 因为啥也不会, 默默做一只小白
- 657,157 被访问量
- 611 原创文章
- 242 作者排名
- 48,734 粉丝数量
- 于 2020-02-05 加入CSDN
- 6,251分
- Python领域优质创作者
- 博客专家认证
- 获得3,434次点赞
- 内容获得4,116次评论
- 获得4,381次收藏
- #人工智能 #深度学习#Python
- 深度学习
- NLP 自然语言处理 10篇
- 强化学习 3篇
- 视觉 37篇
- OpenCV 29篇
- Yolo 3篇
- 万物皆可 GAN 4篇
- 我要拿 Python 炒股票, 然后惊呆所有人! 21篇
- 数据分析 1篇
- 基础内容 16篇
- 实战讲解 13篇
- 手把手带你玩转深度学习框架 31篇
- Tensorflow1 入门 3篇
- Tensorflow2 入门 16篇
- PyTorch 入门 13篇
- Pyhton 机器学习进阶 32篇
- Python 机器学习进阶第一节 17篇
- Python 机器学习进阶第二节 11篇
- Python 机器学习总结 4篇
- Go 基础 27篇
- C++ 基础 34篇
- 我要偷偷学 Java, 然后惊呆所有人 122篇
- Python 机器学习基础 62篇
- Python 数据结构 41篇
- Python 基础 133篇
- Python 基础第三节 13篇
- Python 基础第四节 13篇
- 易语言 数据结构 4篇
通过 urlopen 方法发出的请求, 如果长时间没得到响应, 我们应终止该请求. 如果再继续维持, 不仅会继续耗费本地客户端和对方服务器的资源, 更会让用户长时间得不到响应, 从而降低用户体验. 用 urlopen 方法时, 我们可以加入 timeout 参数来指定超时时间, 单位为秒.
例子:
import urllib.request
# 网页
url = "https://iamarookie.blog.csdn.net/"
# 发送请求
response = urllib.request.urlopen(url, timeout=10)
# 如果请求成功
if response.getcode() == 200:
# 打印信息
print(response.read().decode("utf-8"))
处理网络异常
URLError可以帮助我们处理网络异常.
例子:
from urllib import request, error
# 网页
url = "https://iamarookie.blog.csdn.net/"
# 发送请求
try:
response = request.urlopen(url, timeout=10)
except error.URLError as e:
# 打印错误
print(e.reason)
# 退出
exit(1)
# 如果请求成功
if response.getcode() == 200:
# 打印信息
print(response.read().decode("utf-8"))



