1.requests库的7个主要方法
| 命令 | 说明 |
|---|---|
| requests.request() | 构造一个请求,支撑其他方法的基础方法 |
| requests.get() | 获取HTML网页的主要方法,对应于HTTP的GET |
| requests.head() | 获取HTML网页头信息的方法,对应于HTTP的HEAD |
| requests.post() | 向HTML网页提交POST请求的方法,对应于HTTP的POST |
| requests.put() | 向HTML网页提交PUT请求的方法,对应于HTTP的PUT |
| requests.patch() | 向HTML网页提交局部修改请求,对应于HTTP的PATCH |
| requests.delete() | 向HTML页面提交删除请求,对应于HTTP的DELETE |
HTTP协议,Hypertext Transfer Protocol, 超文本传输协议
URL格式 http://host[:port][path]
host: 合法的Internet主机域名或者IP地址
port: 端口号,缺省端口为80
path: 请求资源的路径
HTTP协议对资源的操作:
| 命令 | 说明 |
|---|---|
| GET | 请求获取URL位置的资源 |
| HEAD | 请求获取URL位置资源的相应消息报告,即获得该资源的头部信息 |
| POST | 请求向URL位置的资源后附加新的数据 |
| PUT | 请求向URL位置存储一个资源,覆盖原URL位置的资源 |
| PATCH | 请求局部更新URL位置的资源,即改变该处资源的部分内容 |
| DELETE | 请求删除URL位置存储的资源 |
1. requests.head()
### head()方法可以节省网络流量,只会返回头信息
import requests
r = requests.head("http://1x1y.top/na")
r.headers
r.text
''
2.requests.post()
### 提交360搜索关键词
import requests
vKeyWord = "game"
try:
kv = {"q": vKeyWord}
vText = requests.get("http://www.so.com/s", params =kv)
vText.raise_for_status()
print(vText.request.url)
print(len(vText.text))
except:
print("爬虫爬取失败")
https://www.so.com/s?q=game
247879
### 提交百度搜索关键词
import requests
vKeyWord = "game"
try:
kv = {"wd": vKeyWord}
vText = requests.get("http://www.baidu.com/s")
vText.raise_for_status()
print(vText.request.url)
print(len(vText.text))
except:
print("爬虫爬取失败")
http://www.baidu.com/s
153744









网友评论