1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python爬虫入门代码-Python爬虫入门(一) 网络爬虫之规则

python爬虫入门代码-Python爬虫入门(一) 网络爬虫之规则

时间:2021-11-18 07:23:58

相关推荐

python爬虫入门代码-Python爬虫入门(一) 网络爬虫之规则

Python爬虫入门(一)

总述

本来早就想学习下python爬虫了,总是找各种借口,一直拖到现在才开始系统的学习。

我用的教程是中国大学MOOC上的由北京理工大学开设的Python网络爬虫与信息提取。

废话不多说,直接开始。

1. requests库入门

1.1 requests库简介

Requests 是唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。

安装 pip install requests

引入 import requests

7种常用方法

requests.request() 构造一个请求,最基础的方法

requests.get() 获得HTML网页的主要方法,对应于HTTP的GET

requests.head() 获得HTML网页头的主要方法,对应于HTTP的HEAD

requests.post() 提交post请求,POST

requests.put() 提交put请求,PUT

requests.patch() 提交局部修改请求,PATCH

requests.delete() 删除请求,DELETE

requests库的get()方法

r = requests.get(url)

该语句的意为构造一个向服务器请求资源的Request对象,返回的是一个包含服务器资源的Response对象,用r来接收。

Response对象的属性

r.ststus_code http请求的返回状态,200为成功

r.text http响应内容的字符串形式,url对应的页面内容

r.encoding http header中猜测的编码格式

r.apparent_encoding http内容中猜测的响应内容的编码格式,备用

r.content http响应内容的二进制形式

1.2 通用代码框架

Requests库的异常

requests.ConnectionError 网络连接异常

requests.HTTPError http错误异常

requesrs.URLRequired URL缺失异常

requests,ToomanyRedirects 重定向异常,超过最大重定向次数

requests.ConnectTimeOut 连接远程服务器超时异常

requests,Time 请求URL超时,超时异常(包括上述的整个请求过程)

通用代码框架

import requests

def getHTMLText(url):

try:

r = requests.get(url, timeout=30)

r.raise_for_status()

r.encoding = r.apparent_encoding

return r.text

except:

return '超时异常'

if __name__ == '__main__':

url = "/"

print(getHTMLText(url))

1.3 HTTP协议及Requests库方法

HTTP协议

HTTP协议, Hypertext Transfer Protocol, 超文本传输协议。

是一个基于“请求与响应”模式的、无状态的应用层协议。

采用URL作为定位网络资源的标识。

URL

URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源。

格式为:http://host[:port][path]

host: 合法的Internet主机域名或IP地址

port: 端口号,省略端口为80

path: 请求资源的路径

HTTP协议对资源的操作

GET:发送一个请求来取得服务器上的某一资源。

HEAD:HEAD和GET是一样的,区别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。

POST:向服务器提交数据。这个方法用途广泛,几乎目前所有的提交操作都是靠这个完成。

PUT:这个方法比较少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数据。

PATCH:向服务器更新数据。

DELETE:删除某一个资源。

HTTP协议方法与requests库方法一致。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。