爬虫与信息提取 1-1 - Requests库入门

你是无意穿堂风 偏偏孤倨引山洪

爬虫与信息提取 1-1 - Requests库入门_第1张图片
1进度

安装 requests

conda install requests

http://www.python-requests.org/en/master/


# -*- coding: utf-8 -*-
import requests
r = requests.get("http://www.mi.com")
print(r.status_code)
r.encoding = 'utf-8'
print(r.text)

requests 库7个主要方法:

爬虫与信息提取 1-1 - Requests库入门_第2张图片
requests 库7个主要方法

requests - get()

r = requests.get(url)

r = requests.get("http://www.mi.com")
爬虫与信息提取 1-1 - Requests库入门_第3张图片
get()1
爬虫与信息提取 1-1 - Requests库入门_第4张图片
get()2
爬虫与信息提取 1-1 - Requests库入门_第5张图片
get()3

爬虫与信息提取 1-1 - Requests库入门_第6张图片
requests库

response 对象的属性:

爬虫与信息提取 1-1 - Requests库入门_第7张图片
response 对象的属性
爬虫与信息提取 1-1 - Requests库入门_第8张图片
status_code

理解response的编码:

爬虫与信息提取 1-1 - Requests库入门_第9张图片
理解response的编码

爬取网页的通用代码框架:

  • 网络连接有风险
  • 异常处理很重要

理解Requests库的异常:

爬虫与信息提取 1-1 - Requests库入门_第10张图片
Requests库的异常1
爬虫与信息提取 1-1 - Requests库入门_第11张图片
Requests库的异常2
# -*- coding: utf-8 -*-

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 = "http://www.mi.com"
    print(getHTMLText(url))

HTTP协议及Requests库方法:

Http协议:

爬虫与信息提取 1-1 - Requests库入门_第12张图片
Http协议
爬虫与信息提取 1-1 - Requests库入门_第13张图片
url
爬虫与信息提取 1-1 - Requests库入门_第14张图片
url

Http协议对资源的操作:

爬虫与信息提取 1-1 - Requests库入门_第15张图片
Http协议对资源的操作1
爬虫与信息提取 1-1 - Requests库入门_第16张图片
Http协议对资源的操作2

http协议通过url对资源定位 通过以上6个操作方法对资源进行管理 每次操作都是独立无状态的(两次操作间没有关系)


爬虫与信息提取 1-1 - Requests库入门_第17张图片
区别

Requests库的head():

# -*- coding: utf-8 -*-
import requests
r = requests.get("http://www.mi.com")
print(r.status_code)
r.encoding = 'utf-8'
print(r.headers)

Requests库的post():

爬虫与信息提取 1-1 - Requests库入门_第18张图片
post()
# -*- coding: utf-8 -*-

import requests

payload = {'key1':'value1', 'key2':'value2'}

r = requests.post('http://httpbin.org/post', data=payload)

print(r.text)

print:

{
  "args": {}, 
  "data": "", 
  "files": {}, 
  "form": {
    "key1": "value1", 
    "key2": "value2"
  }, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Connection": "close", 
    "Content-Length": "23", 
    "Content-Type": "application/x-www-form-urlencoded", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.14.2"
  }, 
  "json": null, 
  "origin": "43.247.4.53", 
  "url": "http://httpbin.org/post"
}
爬虫与信息提取 1-1 - Requests库入门_第19张图片
data

Requests库的put():

爬虫与信息提取 1-1 - Requests库入门_第20张图片
put()

Requests库主要方法解析:

爬虫与信息提取 1-1 - Requests库入门_第21张图片
主要方法解析
爬虫与信息提取 1-1 - Requests库入门_第22张图片
0
爬虫与信息提取 1-1 - Requests库入门_第23张图片
1
爬虫与信息提取 1-1 - Requests库入门_第24张图片
2
爬虫与信息提取 1-1 - Requests库入门_第25张图片
3
爬虫与信息提取 1-1 - Requests库入门_第26张图片
4
爬虫与信息提取 1-1 - Requests库入门_第27张图片
5
爬虫与信息提取 1-1 - Requests库入门_第28张图片
6
爬虫与信息提取 1-1 - Requests库入门_第29张图片
7
爬虫与信息提取 1-1 - Requests库入门_第30张图片
8
爬虫与信息提取 1-1 - Requests库入门_第31张图片
9
爬虫与信息提取 1-1 - Requests库入门_第32张图片
10

get最常用!

爬虫与信息提取 1-1 - Requests库入门_第33张图片
get()

爬虫与信息提取 1-1 - Requests库入门_第34张图片
head()
爬虫与信息提取 1-1 - Requests库入门_第35张图片
post()
爬虫与信息提取 1-1 - Requests库入门_第36张图片
put()
爬虫与信息提取 1-1 - Requests库入门_第37张图片
patch()
爬虫与信息提取 1-1 - Requests库入门_第38张图片
delete()

小结:

爬虫与信息提取 1-1 - Requests库入门_第39张图片
库入门
爬虫与信息提取 1-1 - Requests库入门_第40张图片
框架

世界上所有的追求都是因为热爱
一枚爱编码 爱生活 爱分享的IT信徒
— hongXkeX

你可能感兴趣的:(爬虫与信息提取 1-1 - Requests库入门)