【第一周】Requests库入门、robots协议——python爬虫慕课笔记

从这一篇开始,记一些北理工嵩天老师的python爬虫专题课程要点的笔记截图,目的是方便复习~并不完整涵盖所有内容

课程链接
本篇是第一周的内容

文章目录

  • 第一单元 requests库入门
      • http协议
    • requests库的主要方法
      • get方法
      • request方法
      • head方法
      • post方法
      • put方法
      • patch方法
      • delete方法
    • request库的代码框架
    • request库的异常
  • 第二单元 robots协议
  • 第三单元 项目实战

第一单元 requests库入门

http协议

【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第1张图片
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第2张图片
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第3张图片
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第4张图片

requests库的主要方法

【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第5张图片
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第6张图片
head获得简要信息节约带宽
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第7张图片
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第8张图片
post一个字符串对默认存储到data下
post一个字典(键值对)对默认存储到表单字段下
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第9张图片
put与post类似只不过post是附加,而put会覆盖掉原有数据

get方法

【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第10张图片
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第11张图片
不是200都是失败的
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第12张图片
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第13张图片
encoding只是根据header中的相关字段信息获得编码
而apparent_encoding是实实在在地从返回内容分析得出编码
把apparent_encoding(utf-8)赋值给encoding后,可读到中文

完整参数:
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第14张图片
12个访问参数即request参数中除了params外的其他12个(见下文)

request方法

【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第15张图片
七种方法的内部实现其实都是调用了这个request方法
request方法下可选参数kwargs的13中访问控制参数:
13

  1. params
    【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第16张图片
    把一些键值对增加到url中
  2. data
    【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第17张图片
    此时是把键值对存放到url对应位置作为数据来存储
  3. json
    【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第18张图片
    作为内容,赋值到服务器的json上
  4. headers
    【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第19张图片
    模拟Chrome10浏览器访问

【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第20张图片
7.
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第21张图片
8
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第22张图片
9
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第23张图片
设置代理服务器来访问百度,可以隐藏爬虫源地址,防止爬虫逆追踪
10-13
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第24张图片
所有的关键字:
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第25张图片

head方法

【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第26张图片

post方法

【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第27张图片

put方法

【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第28张图片

patch方法

【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第29张图片

delete方法

【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第30张图片
因为常用所以有些参数放在前面

request库的代码框架

try——except
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第31张图片

request库的异常

【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第32张图片在这里插入图片描述
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第33张图片

第二单元 robots协议

表明哪些可以爬,哪些不能爬
可以指定爬虫不能爬
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第34张图片
*是通配符
disallow是不能访问的资源目录
没有robots协议文件的网站,则默认内容都可以爬,嘿嘿嘿~
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第35张图片【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第36张图片【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第37张图片

第三单元 项目实战

  • 亚马逊案例:
    修改header模拟浏览器访问以爬取防护做得比较好的网页
    【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第38张图片
    虽然经过实际实践2021.2.15没有模拟也可以爬取到内容哈哈

  • 百度360搜索案例
    使用params关键词修改url内容(中的keywords)实现搜索
    【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第39张图片【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第40张图片
    360搜索就是把键值对wd改成q即可

  • 网络图片的爬取
    首先随便找一个图片链接,执行以下代码

其意思是打开文件定义为文件标识符f,然后将返回的内容r写到这个文件中
r.content表示返回内容的二进制形式
【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第41张图片
这样的代码使得爬取下来的图片用源文件名

  • ip地址归属地查询
    这个栗子2021.2已不可用
    【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第42张图片
    【第一周】Requests库入门、robots协议——python爬虫慕课笔记_第43张图片
    最后提醒一句 requests是库,request是发送给网络的对象
    end

你可能感兴趣的:(爬虫,python)