怎样使用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)
上一篇 2023-05-12 02:26:42
下一篇 2023-05-12 02:27:46

相关推荐

  • 宁夏红寺堡:惠民政策暖人心 创业培训促就业

    为加快红寺堡区脱贫攻坚的步伐,全面促进创业带动就业。4月16日,该区第一期网络创业培训开班,本次培训由宁夏西部创业学院优秀创业讲师张文静和王继华主讲。主要从当前商业领域的销售模式,销售方式,电子网络,线上销售等方面进行讲解,手把手教学,让每一位学员学有所成,学有所用,把学到的知识用到实际应用之中。 “此次网络培训班,真是一场及时雨,让我们学会了如何在网上销售…

    创业分享 2023-06-03
    125
  • 卫哲经验分享 :打通创业者找钱、找人的任督二脉

      来源|创新工场   4月中旬,创新工场投后在上海举办了一场B2B/企业服务领域的闭门分享会,我们邀请了嘉御基金卫哲先生,为工场系CEO们做了一场精彩分享。   卫哲先生的分享分两部分,一部分关于融资,一部分关于B2B经营。   融资部分的精彩语录有:   创始人经常说找人、找钱、找项目,找人是最重要的,要想想你的蔡崇信在哪儿?你的刘炽平在哪儿?你的柳青在…

    2023-05-15
    74
  • 两天暴涨8.6%,创业板指收复失地!特斯拉概念再现疯狂,宁德时代

    、、、、、、、等涨幅居前。 日前,特斯拉在发布2019年第四季度财报时表示,已与宁德时代达成了合作协议。2日晚间宁德时代也公告称,将向特斯拉供应锂离子动力电池产品。供货期限为2020年7月1日至2022年6月30日。 周一,A股因肺炎疫情大幅下跌,宁德时代反而逆势上涨3.67%,周二大盘稍有好转,宁德时代高开高走强势封涨停,今日宁德时代再次高开高走封死涨停,…

    2023-05-12
    75
  • UCC干洗店加盟品牌全程指导加盟商开店,创业更有保障

    您当前位置:石家庄新闻网 > 产经资讯 > 商讯 > UCC干洗店加盟品牌全程指导加盟商开店,创业更有保障   干洗技术一直是干洗店立足的根本,我们都知道,酒香不怕巷子深的道理,对于干洗店来说,过硬的干洗技术才是其制胜的法宝。但是对于许多初涉此行的投资者来说,最欠缺的就是技术。   随着纺织业的快速发展,许多衣物都变得无法直接水洗,对于人们…

    创业分享 2023-05-20
    81
  • 生态共享激发创业变局

      罗斌指出,过去四年半,我们更多地扶持面向企业和行业的优秀创业团队,是因为ToB的创业团队不仅和ToC的创业者一样,要在需求调研、产品迭代、流量成本、营销创意、交易成本等方面作出创新,更重要的是能带动提升全行业效率的创新。“微软无论在传统的企业计算、生产力工具和当前的云计算、大数据、人工智能等平台领域有数十年的技术研发和产品创新经验,也有足够多的合作伙伴和…

    创业分享 2023-05-26
    104

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

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