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

相关推荐

  • 合伙创业如婚姻,爱恨关系如何维系

    化解tips: (责任编辑:admin) 蹦极弹跳转场:让你的视频“弹”出高级感 2026年贵阳指纹锁开锁公司推荐:五家专业团队评测深夜应急突发 霓虹灯招牌**剪辑工作流指南 2026年西安瑞宝手表售后保养推荐:五家维修店评测防走时误差 2026年贵阳宇舶手表保养售后维修推荐:三大机构评测精准避坑 2026年贵阳卷闸门开锁公司推荐:五家正规备案评测深夜急开不…

    创业分享 2023-05-12
    133
  • 又拍云沈志华:场景化CDN让创业更简单

    沈志华坦言,目前市场上几乎所有的视频云服务商所能够满足的基本功能都大同小异,这一点是毋庸置疑的。他说视频云基本功能是为了满足和支持视频企业的需求,因此也就决定了在功能方面,各服务商间的同质化比较严重。 谈及当下热热闹闹的竞争格局,沈志华表示,CDN市场的繁荣伴随着整个互联网的兴起,随着移动互联网的飞速发展,移动终端的大量普及以及终端用户的分布区域日趋扩大,C…

    创业分享 2023-05-31
    111
  • “自主创业” 24岁成都小伙将3D打印机卖到欧美

      尽管只有24岁,而且是第一次创业,但个头不高的余晟睿对创业,显然有比同龄人更成熟的看法。“创业之初,应该专注细分品类的产品,在这一个品类做到第一,再通过这个缺口进行扩张。”余晟睿说,他的经验是不能在创业刚开始,就把战线拉得太长。   今年4月份,余晟睿的公司拿到了百万级的融资,但拿到投资人的钱后,让他倍感压力之大。“融资之前,我们团队想买什么就直接买买买…

    创业分享 2023-05-31
    94
  • 鹤城区创业园举办庆祝“国际三八妇女节”活动

    版权声明:本网所有内容,凡注明“来源:怀化日报”“来源:边城晚报”“来源:掌上怀化”“来源:怀化新闻网”的所有文字、图片和音视频资料,版权均属怀化新闻网所有。任何媒体、网站或个人未经本网协议授权,不得转载、链接、转贴或以其他方式复制发布/发表。已经本网协议授权的媒体、网站,在下载使用时必须注明”稿件来源:怀化新闻网”。违反上述声明者,…

    创业分享 2023-05-13
    153
  • 雅居乐二代创业做地产 陈思铭如何撕掉父辈的标签

    + – 雅居乐二代创业做地产 陈思铭如何撕掉父辈的标签 陈博2020-01-10 12:08 扫描二维码分享到朋友圈 经济观察网 记者 陈博 “景业名邦是独立运营的公司,与雅居乐在行业内是公平竞争关系,都要面向市场,未来也不排除合作。” 2020年1月3日,景业名邦集团控股有限公司(02231.HK,以下简称“景业名…

    2023-05-12
    187

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

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