数据库
MySQL
ORACLE
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
Linux运维
中间件
shell脚本
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
占位哈哈
首页 动态 发帖 版块 我的
 退出
游客  
等级:
金豆:
经验:
首页  /  编程开发  /  Python  /  正文

requests库

  510 
 0
 0
import requests
res = requests.get('http://bj.xiaozhu.com/')
print(res)
反回结果是:<Response [200]>,如果是400或者404就代表请求失败


import requests
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.57'
}
res = requests.get('http://bj.xiaozhu.com/',headers=headers)
print(res.text)
Requests 库不仅有 get()方法,还有 post()等方法。 post()方法用于提交表单来爬取需要 登录才能获得数据的网站,这部分内容会在后面章节中学习 ,这里不再赘述。学习 get() 方法足够我们爬取大部分的网站了。 

Requests 库请求并不会“ 一帆风顺”,当遇到 些情况时, Requests 库会抛出错误或 者异常 Requests 库的错误和异常主要有以下 4种

• Requests 抛出 ConnectionError 异常,原因为网络问题(如 DNS 查询失败、拒 绝连接等) 

• Response.raise_ for_ status ()抛出 HTTPError 异常,原因为 HTTP 请求返回了不成 功的状态码(如网页不存在,返回 404 错误〉。 

• Requests 抛出 Timeout 异常,原因为请求超时 

• Requests 抛出 一个 TooMa Redirects 异常,原因为请求超过了设定的最大重定向次数。

 所有 Requests 显式抛出的异常都继承自 requests.exceptions.RequestException ,当发现 这些错误或异常进行代码修改重新再来时,爬虫的程序叉开始重新运行了,爬取到的数据 又会重新爬取 次,这对于爬虫的效率和质量来说都是不利的。这时,便可通过 Python 中的try来避免异常了,具体使用方法如下: 

import requests
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.57'
}
res = requests.get('http://bj.xiaozhu.com/',headers=headers)
try:
    print(res.text)
except ConnectionError:
    #出现错误执行下面操作
    print('拒绝连接')

标签:
作者签名: 只有努力,才会有收获   楼主  2021-12-17 17:22:48

点赞推荐

回复列表
合作伙伴:
Powered by 运维术 8.3.2
© 2017-2024 模板 by 黑衣人
您的IP: 3.137.198.239 , 2024-09-20 05:51:49
Powered by 运维术 8.3.2
© 2017-2024 模板 by 黑衣人
(0) 分享
分享
取消
我的客服