怎样使用requests模块抓取网页?

爬取网页其实就是通过URL获取网页信息,网页信息的实质是一段添加了JavaScript和CSS的HTML代码。Python提供了一个抓取网页信息的第三方模块requests,requests模块自称“HTTP for Humans”,直译过来的意思是专门为人类而设计的HTTP模块,该模块支持发送请求,也支持获取响应。

1.发送请求

requests模块提供了很多发送HTTP请求的函数,常用的请求函数具体如表10-1所示。

表10-1 requests模块的请求函数

怎样使用requests模块抓取网页?

2.获取响应

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

表10-2 Response 类的常用属性

怎样使用requests模块抓取网页?

接下来通过一个案例来演示如何使用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 语句捕获与处理。

免责声明:文章内容来自互联网,本站仅作为分享,不对其真实性负责,如有侵权等情况,请与本站联系删除。
转载请注明出处:怎样使用requests模块抓取网页? https://www.dachanpin.com/a/cyfx/10871.html

赞 (0)
如果leader崩溃,Kafka怎样重新选举?
上一篇 2023-05-12 02:26:42
ClouderaManager指的是什么?有哪些功能?
下一篇 2023-05-12 02:27:46

相关推荐

  • 游客将野猪逼下崖 这到底是怎么回事?

      日前八名游客在西班牙欧洲峰国家公园远足,但不知因为什么原因,他们用棍子将一头野猪逼向悬崖边缘,期间野猪似乎没有危及到他们的生命安全,而其中一名游客甚至还在一旁将这个过程拍下。   游客将野猪逼下崖视频截图   目前对于8名游客将野猪逼下崖事件,西班牙国民警卫队正在调查这群旅行者的身份以及事发的具体地点。对此,西班牙动物权益及福利政党PACMA(即反动物虐…

    2023-05-21
  • 分享创业经验 助力青年创业

    秦楚网讯(十堰日报) 记者黄娜 通讯员赵延孛 王森报道:昨日,十堰青年创新创业论坛举办“青年科技创新创业论坛”、“互联网金融助力产业转型升级论坛”、“文创产业助力精准扶贫论坛”三场分论坛及青年创业投融资路演活动。省科技厅党组成员、省知识产权局局长赵彦林,副市长侯昭位出席分论坛。 在各论坛现场,湖北国际经济技术合作有限公司总经理陈彤、武汉华汇创业投资基金投资总…

    创业分享 2023-05-24
  • 辽宁大学生创新创业大赛大连理工学子夺五金

    人民网大连7月30日电 近日,“建行杯”第四届辽宁省“互联网+”大学生创新创业大赛在辽宁工业大学举行,来自全省40所高校的125支创新创业团队参与角逐,大连理工大学派出的8支参赛团队再创佳绩,取得5金3银的优异成绩。其中,轮球式自平衡机器人、Orion CC-首个基于智能手机的低成本桥梁索力检测解决方案、诺亚521萌宠频道、SLAM式三维激光扫描系统-颠覆传…

    创业分享 2023-05-16
  • 从失败者到行业大佬,果树种植如何实现盈利颠覆?

    如今,越来越多的人选择投资创业,但是创业之路异常艰辛,尤其是在做农业方面的创业更是步履维艰,让不少人还没踏入这个行业就已经感觉到有了畏惧心理。尽管如此,还是没有挡住一些敢于挑战的人前往这片创业的领地,大胆尝试新项目。一位白手起家,甚至在创业路上遭遇过无数坎坷险阻的创业者,为更多想要涉足果树种植创业项目的朋友带来了自己的经验分享。 首先,如果你已经打算好从事这…

    2023-05-13
  • 西安每年投入3000万元支持航空科技创新创业

    热点图片   同时推进航空创业实验室、航空信息平台、航空军民融合服务中心、航空科技资源统筹平台等一批公共服务平台建设。围绕航空重点领域,以中小企业为主体,建设航空复合材料检测中心、航空模拟仿真研究中心、航空热处理中心、航空电器设备维修中心等公共技术平台。 来源:西安新闻网-西安晚报   编辑:左海茹   西安航空基地结合产业发展实际,深入开展“双创”工作,大…

    创业分享 2023-05-28

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

工作时间:周一至周五,9:30-16:30,节假日休息