Python网络爬虫

Python网络爬虫.2(笔记)

笔记均是观看慕课视频所记录的。

Requests库的安装
在命令提示符窗口(cmd)输入pip install requests安装Requests库。
安装成功后,会显示Successfully installed requests -2.13.0

打开IDLE,在python shell中输入代码:

>>> import requests
>>> r=requests.get("http://www.baidu.com")#访问百度网页
>>> r.status_code#如果状态码=200,访问成功,反之,失败
200
>>> r.encoding='utf-8'#更改编码
>>> r.text#显示抓取的数据
方法说明
requests.request()构造一个请求,支撑以下各方法的基础方法
requests.get()获取HTML网页的主要方法,对应于HTTP的GET
requests.head()获取HTML网页头信息的方法,对应与HTTP的HEAD
requests.post()向HTML网页提交POST请求的方法,对应于HTTP的POST
requests.put()向HTML网页提交PUT请求的方法,对应于HTTP的PUT
requests.patch()向HTML网页提交局部修改请求,对应于HTTP的PATCH
requests.delete()向HTML网页提交删除请求,对应于HTTP的DELETE

获取网页最快的方法:
在这里插入图片描述
该流程图是使用dot语言所写,在此附上源码。

digraph demo{
frontname="Microsoft YaHei"
node[fontname="Microsoft YaHei"]
edge[fontname="Microsoft YaHei"]
"r=requests.get(url)"->"Request"[shape=box,label="构造一个向服务器请求资源的Request对象(对象是由Request库内部生成的)",labelfontcolor=blue]
"r=requests.get(url)"->"Response"[shape=box,label="返回一个包含服务器资源的Request对象",labelfontcolor=blue]
}

requests.get(url,params=None,**kwargs)
这个语句基本上可爬取网页上所有数据
url:拟获取页面的url链接
params:url中的额外参数,字典或字节流格式,可选
**kwargs:12控制访问的参数

Response对象的属性

属性说明
r.status_codeHTTP请求的返回状态,200表示连接成功,(非200)404失败
r.textHTTP响应内容的字符串形式,即url对应的页面内容
r.encoding从HTTP header中猜测的响应内容编码方式
r.apparent_encoding从内容中分析出的响应内容编码方式(备选编码方式)
r.contentHTTP响应内容的二进制形式

在这里插入图片描述
实例

#查看编码
>>> r.encoding
'ISO-8859-1'
>>> r.apparent_encoding
'utf-8'
>>> r.encoding='utf-8'
>>> r.text#正常文字显示

r.encoding:如果header中不存在charset,则认为编码为ISO-8859-1(这个编码不能解析中文,访问百度时默认的编码是这个)
r.apparent_encoding:根据网页内容分析出的编码方式(内容分析比r.encoding更加准确)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值