刚开始入门学习python爬虫会遇到各种各样的问题,如果以当时的学识想必处理起来也十分困难,那么,如果你拥有良好的编程习惯会让你轻松很多。
当我们在使用Requests库时经常遇到的问题无非是网络问题,连接的超时问题,或者你自己代码有错误…
下面列举了一些相关的错误:(如图1)
说到HTTP,首先HTTP协议是个超文本传输协议,且是一个基于"请求与响应"模式的,无状态的应用层协议。HTTP协议采用URL作为定位网络资源的标识。
URL格式:http://host[:port][path]
To:URL是通过HTTP协议存取资源 的Internet路径,一个URL对应一个数据资源。
1、host:合法的Internet主机域名或IP地址
2、port:端口号:缺省端口为80
3、path:请求资源的路径
HTTP协议对资源的操作:
1、GET:请求获取URL位置的资源
2、HRAD:请求获取URL位置资源的响应消息报告,即获得该资源的头部信息
3、POST:请求向URL位置的资源后附加新的数据
4、PUT:请求向URL位置存储一个资源,覆盖URL位置的资源
5、PATCH:请求局部更新URL位置的资源,即改变该处资源的部分内容
6、DELETE:请求删除URL位置存储的资源
理解PATCH和PUT的区别:
假设URL位置有一组数据User info,包括UserID,UserName等20个字段,需求:用户只改变了UserName,UserID等其它不变。
1、采用PATCH,仅向URL提交USERName的局部更新请求
2、采用PUT,必须将所有20个字段一并提交到URL,未提交字段将被删除
当采用PATCH时,最大的好处便是节省了网络带宽。
通用代码举例:
import requestsdef getHTMLText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text except:
return 0if __name__=="__main__":
url="http://www.baidu.com"#可自己修改试试
print(getHTMLText(url))
以上代码仅供参考,通用部分为 def 函数部分。