Python下可以方便的使用requests
抓取网页,执行GET、POST等请求。
首先安装requests
库
pip3 install requests
GET示例
import requests
url = "https://www.baidu.com"
rs = requests.get(url)
print(rs.text)
GET传递参数
GET传递参数可以直接拼接在url中,也可以使用如下方式。
payload = {'key1': 'value1', 'key2': 'value2'}
rs = requests.get(url, params=payload)
POST示例
rs = requests.post(url, data={'key':'value'})
使用headers
headers = {
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36'
}
page = requests.get(url, headers=headers)
使用代理
proxies = {
"http": "http://127.0.0.1:1087",
"https": "http://127.0.0.1:1087",
}
result = requests.get(url, proxies=proxies)
print(result.text)
如果代理使用了 Http Basic Auth认证,可以这么配置代理 http://username:password@host:port
。
返回内容、页面编码和状态码
rs.text # 内容
rs.encoding # 编码
rs.status_code # 状态码