爬虫学习(一)——requests库

一、安装

cmd-->pip install requests

安装测试

>>> import requests
>>> r = requests.get("http://www.baidu.com")
>>> r.status_code
200
>>> r.text

 

二、Requests库的get()方法

r=requests.get(url)

返回一个包含服务器的资源的Response对象,构造一个向服务器请求资源的Request对象。

Response对象的属性

 

三、爬取网页的通用代码框架

“网络连接有风险,异常处理很重要”

 通用框架

 r.raise_for_status()在方法内部判断r.status_code是否等于200,不需要增加额外if语句,便于try-except异常处理

 

四、HTTP协议及Requests库方法

1.HTTP 超文本传输协议,是一个基于“请求与响应”模式的、无状态的应用层协议。

请求与响应:用户发出请求,服务器作出响应。无状态指的是第一次与第二次请求之间无关联。应用层协议指的是该协议工作在TCP协议之上。

HTTP协议采用URL作为定位网络资源的标识。URL:http://IP

 

五、网络爬虫的限制

http://www.cac.gov.cn/2019-06/16/c_1124630015.htm网络爬虫的法律规制

·来源审查:判断User-Agent进行限制

检查来访HTTP协议头的User-Agent域,只响应浏览器或友好爬虫的访问。

·发布公告:Robots协议(robots.txt)

告知所有爬虫网站的爬取策略,要求爬虫遵守

tips:
爬虫对速度敏感指的是爬取的速度跟不上网页或网站更新的速度 

爬取亚马逊:使用代码模拟浏览器,再发送爬虫申请。因为亚马逊使用的是外网。

 

资源来自中国大学MOOC——Python网络爬虫与信息提取

posted @ 2023-08-01 10:55  麦麦旋  阅读(20)  评论(2编辑  收藏  举报