本文将从以下几个方面介绍如何使用Python访问网站:网络请求、POST请求、用户代理、Cookie、代理IP、API请求。
一、网络请求
Python有三种主流的网络请求库:urllib、requests、http.client。
urllib:
import urllib.request
response = urllib.request.urlopen('http://www.baidu.com')
print(response.read().decode('utf-8'))
requests:
import requests
response = requests.get('http://www.baidu.com')
print(response.text)
http.client:
import http.client
conn = http.client.HTTPSConnection('www.baidu.com')
conn.request('GET', '/')
response = conn.getresponse()
print(response.read().decode('utf-8'))
二、POST请求
使用requests库发送POST请求:
import requests
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('http://www.example.com', data=data)
print(response.text)
三、用户代理
使用requests库伪装用户代理:
import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get('http://www.baidu.com', headers=headers)
print(response.text)
四、Cookie
使用requests库获取并使用Cookie:
import requests
# 先发送一次请求获取Cookie
response = requests.get('http://www.example.com')
cookies = response.cookies
# 再发送一次请求带上Cookie
response = requests.get('http://www.example.com/other_page', cookies=cookies)
print(response.text)
五、代理IP
使用requests库设置代理IP:
import requests
proxies = {'http': 'http://127.0.0.1:8888', 'https': 'http://127.0.0.1:8888'}
response = requests.get('http://www.example.com', proxies=proxies)
print(response.text)
六、API请求
使用requests库进行API请求:
import requests
response = requests.get('http://api.example.com', params={'key1': 'value1', 'key2': 'value2'})
json_data = response.json()
print(json_data)
原创文章,作者:JSMYO,如若转载,请注明出处:https://www.506064.com/n/375078.html