3.Python发Get请求

1.新建工程,命名;查看python的包,如果配置加到环境变量了,会自动加载出来,否则需自己手动加载python的包(python.exe的安装目录)

2.新建python package

3.新建python 文件

注:类名以大写开头,其他都小写开头,驼峰命名法

 

Requests安装

安装requests:pip install requests(注:安装时关闭fiddler)

卸载requests:pip uninstall requests

查看request官方文档:http://www.python-requests.org/en/master/

 

Python返回内容

--r.status_code  #响应状态码

--r.content  #字节方式的响应体,会自动为你解码gzip和deflate压缩

--r.headers  #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None

--r.json()  #Requests中内置的JSON解码器,json转成python的字典了

--r.url  #获取url

--r.encoding  #编码格式

--r.cookies  #获取返回的cookies

--r.text  #字符串方式的响应体,会自动根据响应头部的字符编码进行解码

--r.raise_for_status()  #失败请求(非200响应)抛出异常

 

Python发Get请求,最基本的实例,格式如下:

(注:由于网站更改,该实例已不能运行通过,该实例中仅参考Get请求的基本格式即可。博客园搜索实例请查看  实例:Get请求-博客园搜索)

import requests

url = 'http://zzk-s.cnblogs.com/s/blogpost'
par = {
    "Keywords":"test"
}
head = {
    "Cookie":"AspxAutoDetectCookieSupport=1111"
}

r = requests.get(url, params=par, headers = head, verify = False)  #verify=False, 不去校验证书,默认的是True
print(r.status_code)
print(r.content.decode("utf-8")) #gzip解码,不能用r.text
print(r.headers)

 

 1 import requests
 2 import urllib3
 3 urllib3.disable_warnings()
 4 
 5 class BoKeYuanSearch():
 6     '''博客园搜索'''
 7     def updateCookies(self, s):
 8         '''输入关键字搜索,fiddle抓包获取cookies,添加cookies到session, 跳过搜索时的验证码'''
 9         cook = requests.cookies.RequestsCookieJar()
10         cook.set("UM_distinctid", "16e552963db123")
11         cook.set(".Cnblogs.AspNetCore.Cookies", "CfDJ8DeHdfdfd")
12         cook.set(".CNBlogsCookie", "8A73D2E75Fdfdfdsfdfdsfdsf")
13         s.cookies.update(cook)
14     def boKeYuanSearch(self, s):
15         '''博客园地址,搜索关键字,用s发请求,session中带上了cookies'''
16         url = 'https://zzk.cnblogs.com/s/blogpost'
17         par = {
18             "w": "testSearch"
19         }
20         r = s.get(url, params=par, verify=False)
21         print(r.status_code)
22         print(r.content.decode("utf-8"))
23 
24 if __name__ == "__main__":
25     s = requests.session()
26     print("更新前的cookies: ", s.cookies)
27     search = BoKeYuanSearch()
28     search.updateCookies(s)
29     print("更新后的cookies: ", s.cookies)
30     search.boKeYuanSearch(s)
实例:Get请求-博客园搜索

posted on 2019-12-14 15:42  水晶的晶  阅读(17)  评论(0)    收藏  举报