urllib和urllib2是相互独立的模块(原生)
requests库使用了urllib3(多次请求重复使用一个socket)
import requests URL_IP = 'http://httpbin.org/ip' URL_GET = 'http://httpbin.org/get' def use_simple_requests(): response = requests.get(URL_IP) print('>>>>>>Response Headers:') print(response.headers) print('>>>>>>Response Body:') print(response.text) def use_simple_requests2(): params = {'param1':'hello','param2':'world'} response = requests.get(URL_GET,params) print('>>>>>>Response Headers:') print(response.headers) print('>>>>>>Status Code:') print(response.status_code,response.reason) #返回状态码和状态码意思 print('>>>>>>Response Body:') print(response.json()) if __name__ == '__main__': use_simple_requests2()
import json import requests URL = 'https://api.github.com' def build_uri(endpoint): return '/'.join([URL,endpoint]) def better_print(json_str): #打印出来更好看 return json.dumps(json.loads(json_str),indent=4) #缩进为4 def request_method(): response = requests.get(build_uri('users/imoocdemo')) print(better_print(response.text)) def params_request(): response = requests.get(build_uri('users'),params={'since':11}) print(better_print(response.text)) print(response.request.headers) print(response.url) #结果:https://api.github.com/users?since=11 if __name__ == '__main__': request_method()
import json import requests URL = 'https://api.github.com' def build_uri(endpoint): return '/'.join([URL,endpoint]) def better_print(json_str): return json.dumps(json_str, indent=4) def write_method(path,str): f = open(path, 'w', encoding="UTF-8") f.write(str) def params_request(): response = requests.get(build_uri('users'),params={'since':11}) write_method("test_file1.txt",better_print(response.json())) if __name__ == '__main__': params_request()
完