requests模块抓取网页怎么实现,过程是怎样
Admin 2022-06-14 群英技术资讯 1474 次浏览
这篇文章主要介绍“requests模块抓取网页怎么实现,过程是怎样”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“requests模块抓取网页怎么实现,过程是怎样”文章能帮助大家解决问题。爬取网页其实就是通过URL获取网页信息,网页信息的实质是一段添加了JavaScript和CSS的HTML代码。Python提供了一个抓取网页信息的第三方模块requests,requests模块自称“HTTP for Humans”,直译过来的意思是专门为人类而设计的HTTP模块,该模块支持发送请求,也支持获取响应。
1.发送请求
requests模块提供了很多发送HTTP请求的函数,常用的请求函数具体如表10-1所示。
表10-1 requests模块的请求函数

2.获取响应
requests模块提供的Response 类对象用于动态地响应客户端的请求,控制发送给用户的信息,并且将动态地生成响应,包括状态码、网页的内容等。接下来通过一张表来列举Response类可以获取到的信息,如表10-2所示。
表10-2 Response 类的常用属性

接下来通过一个案例来演示如何使用requests模块抓取百度网页,具体代码如下:
# 01 requests baidu
import requests
base_url = 'http://www.baidu.com'
#发送GET请求
res = requests.get (base_url)
print("响应状态码:{}".format(res.status_code)) #获取响应状态码
print("编码方式:{}".format(res.encoding)) #获取响应内容的编码方式
res.encoding = 'utf-8' #更新响应内容的编码方式为UIE-8
print("网页源代码:\n{}".format(res.text)) #获取响应内容
以上代码中,第2行使用import导入了requests模块;第3~4行代码根据URL向服务器发送了一个GET请求,并使用变量res接收服务器返回的响应内容;第5~6行代码打印了响应内容的状态码和编码方式;第7行将响应内容的编码方式更改为“utf-8”;第8行代码打印了响应内容。运行程序,程序的输出结果如下:
响应状态码:200 编码方式:ISO-8859-1 网页源代码: <!DOCTYPE html> <!–-STATUS OK--><html> <head><meta http-equiv=content-type content=text/html; charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content= always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic. com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc>…省略N行…</body></html>
值得一提的是,使用requests模块爬取网页时,可能会因为没有连接网络、服务器连接失败等原因导致产生各种异常,最常见的两个异常是URLError和HTTPError,这些网络异常可以使用 try…except 语句捕获与处理。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了python区块链地址的简版实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
Selenium是一个开源的和便携式的自动化软件测试工具,用于测试Web应用程序有能力在不同的浏览器和操作系统运行,下面这篇文章主要给大家介绍了关于Python selenium下拉选择框实战应用的相关资料,需要的朋友可以参考下
程序设计的好与坏,早在我们青葱岁月时就接触过了,只是那是并不知道这竟如此重要。能够立即改善程序设计、写出“好”代码的知识有以下几点
深度学习已经成为机器学习中最受欢迎和发展最快的领域。深度学习的常见应用包括语音识别、图像识别、自然语言处理、推荐系统等等。本文将通过一些示例代码,带你详细了解深入学习
一些朋友应该有玩过吃豆人游戏,就是通过移动吃豆人吃豆豆来获得分数,同时要躲避怪物这样的玩法。小编认为是比较有趣的,因此给大家分享使用Python实现简单的吃豆人游戏代码,感兴趣的朋友可以参考学习。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008