User:Xyy23330121/Python/HTTP 请求示例
外观
本页面将讲解使用 HTTP 请求所能做到的一些简单操作的示例。
许多网站的 HTML 页面在请求完毕后,还需要解析其中的 JavaScript,并额外发送一些请求。而之前涉及到的请求方式都不包含解析 JavaScript 的内容,所以本页内容将不涉及这些网站。
WinRAR 官网提供了一个 下载页面。我们可以从下载页面获取版本信息。
通过审查元素,我们注意到网站 HTML 代码中包含这样的内容:
<a href="https://www.win-rar.com/fileadmin/winrar-versions/winrar/winrar-x64-700sc.exe">WinRAR 7.00 Chinese Simplified 64 bit</a>
该内容就是我们要找的版本信息。为了能筛选版本信息,我们简单地设计一个正则表达式:
import re
pattern = r'<a href="https://www\.win-rar\.com/fileadmin/winrar-versions/winrar/winrar-x64-[0-9]*sc\.exe">WinRAR ([0-9.]*) Chinese Simplified 64 bit</a>'
这个正则表达式可以正确地筛选到版本信息。
我们简单地发送一个请求过去:
import requests
r = requests.get("https://www.win-rar.com/download.html?&L=0")
然后在响应结果中进行正则表达式搜索:
version = re.search(pattern, r.text).group(1)
就成功获取了版本信息。
把上面代码整合一下,加入一个输出,就是:
import re
import requests
r = requests.get("https://www.win-rar.com/download.html?&L=0")
pattern = r'<a href="https://www\.win-rar\.com/fileadmin/winrar-versions/winrar/winrar-x64-[0-9]*sc\.exe">WinRAR ([0-9.]*) Chinese Simplified 64 bit</a>'
version = re.search(pattern, r.text).group(1)
print(version)