Python网络爬虫二requests库

#requests库的学习与应用实例

导学

  • Request:自动爬取HTML页面自动网络请求提交
  • robots协议:网络爬虫排除标准
  • Projects:实战项目

单元1:Requests库入门

Requests库安装:pip install requests

get() head()最常用

在这里插入图片描述

get()方法

import requests
r = requests.get("url")
#get->request:构造一个向服务器请求的资源的Requests对象
#response->r:返回一个包含服务器资源的的Response对象(包含爬虫返回的内容)
#requests.get(url,params=None,**kwargs)
	#url:拟获取页面的url链接
    #params:url中的额外参数,字典或字节流格数,可选
    #**kwargs:12个控制访问的参数

在这里插入图片描述

由此可见requests库只有一个request方法,其他方法都是调用request方法

#Requests库的两个重要对象 Response-Request
#Response的属性(包含爬虫返回的内容)
	#404或其他:错误或异常
    #200:可查看相应属性值

在这里插入图片描述
在这里插入图片描述

爬取网页的通用代码框架

在这里插入图片描述
在这里插入图片描述

#爬取网页的通用代码框架
#网络链接有风险,异常处理很重要
import requests
def getHTMLText(url):
    try:
        r=requests.get(url,timeout=30)
        r.raise_for_status()#如果状态不是200,引发HTTPError异常
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return  "产生异常"
if __name__=="__main__":
    url = "https://www.baidu.ccom/"
    print(getHTMLText(url))

返回的正确结果

在这里插入图片描述

  • `` if _name_ == " _main_":

    ​ printf(“11”)语句的作用: ``

    一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。因此if name == ‘main’: 的作用就是控制这两种情况执行代码的过程,在if name == ‘main’: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。

HTTP协议及Requests库方法

在这里插入图片描述

HTTP协议:超文本传输协议。

http是一个基于“请求与响应”模式的,无状态的应用层协议。

http一般采用url作为定位网络资源的标识。

url格式 http://host[:port][path]

​ host:合法的Internet主机域名或IP地址

​ port:端口号,缺省端口为80

​ path:请求资源的路径

http://www.bit.edu.cn

HTTP URL的理解

url是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值