怎样使用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

相关推荐

  • 中国电信计划投入10亿元推动大学生创新创业

    原标题:中国电信计划投入10亿元推动大学生创新创业 9月14日,在中国电信天翼智能生态博览会上,由团中央学校部、全国学联秘书处主办,中国电信集团有限公司承办的2018年“创青春”全国大学生创业大赛“智慧校园”主题赛正式启动。同时,中国电信发布了“全国大学生创新创业扶植计划”,未来三年,将投入10亿元支持大学生创新创业。 大赛以“智慧校园”为主题,旨在为大学生…

    2023-05-16
  • 日本拟加大IT创业扶持力度

    第一批扶持对象于22日下午开始公开招募,个人和团队都可报名。日本政府希望通过加大扶持力度,在技术人才不擅长的经营方法方面给予指导,培养出具有竞争力的IT新创企业。如果效果显著,日本政府将考虑从2018年起扩大扶持对象数量。 目前,IT产业在世界范围内进入变革期,围绕人工智能、物联网、大数据、机器人等领域的国际研发竞争激烈,走在前列的往往是有想法、有活力的新创…

    创业分享 2023-05-23
  • 第八师一四七团举办SYB创业培训助力创业脱贫

      (通讯员 苏芮)“今天我参加创业培训班,我觉得这个培训班对我们来说是一个很好的机会,更新了我们的创业理念,丰富我们创业经验,我觉得对于我们今后的经营中方式、观念都有一个大的改变。”培训学员毛华丽说。   为响应全国“大众创业,万众创新”的新趋势,激发广大职工群众主动创业热情,第八师一四七团开展了为期10天的“创办你的企业”SYB创业培训班,来自全团各行业…

    创业分享 2023-05-31
  • 餐饮创业如果选择蜀味往事老火锅店怎么样?

    免责声明:我方仅为合法的第三方企业注册用户所发布的内容提供存储空间,融合网不对其发布的内容提供任何形式的保证:不保证内容满足您的要求,不保证融合网的服务不会中断。因网络状况、通讯线路、第三方网站或管理部门的要求等任何原因而导致您不能正常使用融合网,融合网不承担任何法律责任。 第三方企业注册用户在融合网发布的内容(包含但不限于融合网目前各产品功能里的内容)仅表…

    创业分享 2023-05-12
  • 返乡青年交流创业经验

    版权声明: 在本网站刊登的所有内容,包括但不限于文字、图片、音频视频、美术设计、程序及多媒体等信息,未经著作权人合法书面授权,不得进行一切形式的下载、转载或建立镜像。获得著作权人合法书面授权的,必须在授权范围内使用,使用时保留本网注明的”稿件来源”,并自负法律责任。凡注明为其他媒体来源,均为转载自其他媒体,转载并不代表本网赞同其观点,…

    创业分享 2023-06-04

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

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