热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

爬虫笔记1request库入门

开始学习爬虫,根据视频学习,由中国大学MOOC中北京理工大学 嵩天老师《Python网络爬虫与信息处理课程》一.规则能力:定向网络数据爬取和网页解析的基本能力。每个单元20-40分

开始学习爬虫,根据视频学习,由中国大学MOOC中北京理工大学 嵩天老师《Python网络爬虫与信息处理课程》

一.规则

能力:定向网络数据爬取和网页解析的基本能力。

技术分享图片

 

 每个单元20-40分钟讲解时间。总体时间并不是很长。

技术分享图片技术分享图片

 技术分享图片

 

 IDE介绍与讲解:

 IDLE:特点:自带,默认,常用,入门。  有交互式和文件式两种方式。适用于入门,功能简单直接,代码300行以内的。

sublime text:特点:专为程序员开发的第三方专用编程工具,有专业编程体验,多种编程风格,工具非注册免费用,

 Wing:特点:公司维护,收费,调试功能更丰富,版本控制与同步,适合多人开发。几千行代码开发。

VS+PTVS。微软提供win环境下的工具。

pycharm,社区版免费。适合复杂工程。

技术分享图片

 

 开始正式内容:

  单元一:request库入门

  一.Request库安装

  1.cmd中输入pip install requests.等待安装成功,

遇到的问题:提示pip不是内部命令。解决方案:在用户环境变量的path中添加D:\Python\Scripts。

D:\Python\ 这是你的安装目录, \Scripts重点是这个后缀。而且注意是用户变量,不是系统变量,我是现在系统变量中添加,还是不能使用后又在用户变量中添加,然后可以运行,可以简单地输入pip验证是否成功。

  2.打开idle,操作步骤如下。

技术分享图片

 

干货:

 技术分享图片

 

下面六个函数最后都是调用request函数,可以认为,request库只有一个函数就是request函数。

  二.get方法

1.get函数

技术分享图片 技术分享图片

 

 技术分享图片这是很重要的属性。务必要牢记。

 

  技术分享图片技术分享图片

 

 

 一般apparent_encoding更准确。

此部分小结:一般用r=request.get(url)就能获取页面全部信息,然后通过上面五个属性对它有更好的理解。

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

技术分享图片

 

 

 框架:技术分享图片

 

 

 raise_for_status检测status_code属性,不是200就返回错误,这个框架是为了访问页面更稳定更可靠。

  四.HTTP协议与request库方法

技术分享图片技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片技术分享图片

 

 

 两个图片对比看。方法对应,功能一致

HTTP用URL做定位,通过六个方法对资源进行管理。

 

1.head方法可以用很少的网络流量获取页面的概括信息,text可能因为数据太多无法显示。

技术分享图片

 

 

2.post方法,上传的数据会自动判断类型并放在对应存储区。

 技术分享图片技术分享图片

 

 

 3.put方法与post方法不同在会把原来的数据覆盖掉。

技术分享图片技术分享图片

 

 

   五.request库主要方法解析 

技术分享图片

**kwargs讲解:

技术分享图片技术分享图片

 

 技术分享图片技术分享图片

 

 高级功能:技术分享图片

 

 向连接提供某一个文件技术分享图片

 

 技术分享图片技术分享图片poxies可以设定代理服务器,隐藏源IP地址。

 

 不具体讲解的高级参数技术分享图片

 

 小结: 1.重点get与head的使用。

2.代码框架的使用,应对异常处理很重要。

技术分享图片

 

 


1 importinrequests
2 importin函数time
3
4 defingethtmldata(url):
5 try:
6 r=requests.get(url)
7 r.raise_for_status()
8 r.encoding=r.apparent_encoding
9 return "success"
10 except:
11 return "fail"
12 url1="http://www.baidu.com"
13
14 if __name__ == "__main__":
15 start_time=time.perf_counter()
16 for i in range(10):
17 gethtmldata(url1)
18 end_time=time.perf_counter()
19 time_use=end_time-start_time
20 print("爬取的网站是{},所用时间为{}".format(url1,time_use),"s")
21 #爬取10次百度首页,遇到问题在print函数,点号打成逗号,造成语法错误,
22 #这段程序仿照mooc评论下的答案写成,任务要求是写出一段求多次爬取某个网站所用时间。
23 #之后想再加上进度条来展示进度

 

 到此第一部分对request库了解完成,后续继续跟进老师教学进度进行学习。

 


推荐阅读
  • npmimportuse这里我记录一下,视频地址和封面地址均引用的是服务器端得,本地的视频和图片 ... [详细]
  • 【实践】基于RTThread的智慧路灯案例实验分享
    之前分享了基于LiteOS的智慧农业案例实验分享基于LiteOS的智慧农业案例实验分享,阅读量挺不错,看样子大家都挺喜欢这种实验。那咱们就再来一个类似的实验:基于RT-Thread ... [详细]
  • 第38天:Python decimal 模块
    by程序员野客在我们开发工作中浮点类型的使用还是比较普遍的,对于一些涉及资金金额的计算更是不能有丝毫误差,Python的decimal模块为浮点型精确计算提供了支持。1简介deci ... [详细]
  • Redis 外部访问设置
    1、错误原因Redis搭建好后一般都是使用编程语言进行连接调用,默认Redis的设置是不允许外界访问的,连接Redis只能通过本地(127.0.0.1)来连接,而不能使用网络IP( ... [详细]
  • vector:在vc6中,如果要镶嵌使用vector,如vector,后面的两个应该用,空格隔开,否则被编译器认为是移位符string::npos的值为 ... [详细]
  • win10如何将现有的桌面壁纸找出来
    直接在地址栏输入“C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Themes”,将用户名替换为本机当前用户名,然后按下回车键即可。P ... [详细]
  • 利用ipv6技术,废旧笔记本变成server
    如果你家的路由器已经get到了ipv6地址,并且你家的电脑也获取了有效的ipv6地址,在广域网的设备可以访问到。那恭喜你,再配合我这个dd ... [详细]
  • 题目:Givenanintegerarray,youneedtofindone continuoussubarray thatifyouonlysortthissubarrayin ... [详细]
  • Jmeter的聚合报告
       ... [详细]
  • 摘自:https:www.cnblogs.comnick-huangp4076273.htmlselect*from(select'Nick'asitemfromd ... [详细]
  • CentOS7.2详细安装步骤(二)
    7)语言设置(可以在上一个主界面进行设置,这里不用再次设置)8)SECURITY设置(安全设置)选择default(默认的)策略就可以,通过进行选择,单击完成即可Default#默 ... [详细]
  • SortalinkedlistinO(nlogn)timeusingconstantspacecomplexity.这道题属于人生中第一次对链表进行操作,首先,不同于C++中的st ... [详细]
  • Linux文件目录和权限
    Linux文件目录和权限前言:Linux一般将文件可存取的身份分为三个类别,分别是ownergroupothers,根据权限划分,每个目录都可以拥有相对身份的-rwx[可读可写可执 ... [详细]
  • 法国人家喻户晓的一首歌,很老的一首了。旋律轻盈,歌词温馨会把你带回到小时候的回忆中去。Ilrevientàmamémoire一切都回到我脑海中Dessouvenirsfamilie ... [详细]
  • 第一部分:TSqlTop有两种用法1,限制查询结果集返回的行数或总行数的百分比。当将TOP与ORDERBY子句结合使用时,结果集限制为前N个已排序行;否则,以未定义的顺序返回前N个 ... [详细]
author-avatar
不乱于心丨不困于丶情
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有