First of all, we need to make sure that we have installed the requests library before. If not, follow the steps below to follow the library.
Whether it is Windows, Linux or Mac, it can be installed through the pip package management tool.
Run the following command on the command line to complete the installation of the requests library:
pip3 install requests
This is the simplest installation method, and this method is recommended for installation.
In order to verify whether the library has been installed successfully, you can test it on the command line:
import requests res = requests.get('https://www.baidu.com/') print(res)
Enter the above content. If there is no error message, then just Prove that we have successfully installed requests.
The requests library uses the get() method to request web pages. Let’s take a look at it through an example.
import requests res = requests.get('https://www.baidu.com/') print(type(res)) print(res) print(res.text) print(res.cookies)
Here we call the get() method to achieve it, get a response object, and then output the response type, status code, content and cookies respectively.
It is not surprising that you can only successfully initiate a get() request using the get() method, there are other more convenient requests available. Such as post(), put(), etc.
One of the most common HTTP requests is the GET request. Let’s first learn about the method of using requests to build GET
First, we build the simplest get request. The link of the request is as follows. The website will judge that if the user initiates a get request, it will return the response request information
import requests res = requests.get('http://httpbin.org/get') print(res.text)
The results of the operation are as follows:
{ "args": {}, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Host": "httpbin.org", "User-Agent": "python-requests/2.27.1", "X-Amzn-Trace-Id": "Root=1-637ae5d7-35da1bf57b139d152585d12a" }, "origin": "223.215.67.113", "url": "http://httpbin.org/get" }
It can be found that we successfully initiated the get request, and the returned result contains the request header, url, IP and other information.
So, for a GET request, if we want to add additional information, how do we generally add it? For example, now I want to add two parameters, where name is Tina and age is 18. To construct this request link, can we write it directly:
r = requests.get('http://httpbin.org/get?name=Tina&age=18')
This is also possible. We can also construct it through a dictionary. Just use the params parameter.
import requests data = { 'name':'Tina', 'age':'18' } res = requests.get('http://httpbin.org/get',params = data) print(res.text)
The running results are as follows:
{ "args": { "age": "18", "name": "Tina" }, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Host": "httpbin.org", "User-Agent": "python-requests/2.27.1", "X-Amzn-Trace-Id": "Root=1-637ae902-695483e87b26b3ad49d15df7" }, "origin": "223.215.67.113", "url": "http://httpbin.org/get?name=Tina&age=18" }
Judging from the running results, the requested link automatically becomes a link with a suffix.
In addition, the web page actually returns a string type (str), but its format is json(). We can use json to return a dictionary. If it is not in json format, an error will be reported when using json and a json.decoder.JSONDecodeError exception will be thrown.
In addition to the most basic get request, there is also a more common request method is post(). It is also very simple to implement post requests using requests. The example is as follows.
import requests res = requests.post('http://httpbin.org/post') print(res.text)
After running, you will find the result, which means that our post request is successful.
Send a request, and the response you get will definitely be a response. In addition to text, there are status codes, response headers, cookies, etc.
requests library can be used to send HTTP requests and get responses. After sending an HTTP request, all data returned from the server is included in the Response object. The Response object has the following attributes:
status_code: HTTP status code, indicating the server's response status.
headers: A dictionary containing all header information returned from the server.
body: A byte string containing all data returned from the server.
The above is the detailed content of How to install and use Python requests. For more information, please follow other related articles on the PHP Chinese website!