这个程序是一个基础的框架,你可以根据自己的需求进行扩展,例如:
- 记录日志: 将每次访问的结果(成功/失败、状态码等)写入文件。
- 自定义请求头: 如果某些网站需要特定的User-Agent或其他请求头。
- 代理设置: 如果您需要通过代理访问。
- 更复杂的检查: 不仅仅检查状态码,还可以检查网页内容是否包含特定关键词,以确定网页是否正常。
python 网页定时访问程序
它会按照指定的时间间隔访问一个网页:
import requests
import time
def visit_website_periodically(url, interval_seconds):
"""
按照指定时间间隔访问网页。
Args:
url (str): 要访问的网页URL。
interval_seconds (int): 访问之间的时间间隔(秒)。
"""
print(f"程序将每隔 {interval_seconds} 秒访问一次: {url}")
try:
while True:
print(f"\n[{time.strftime('%Y-%m-%d %H:%M:%S')}] 正在访问: {url}")
try:
response = requests.get(url)
response.raise_for_status() # 检查HTTP请求是否成功 (2xx状态码)
print(f"访问成功!HTTP 状态码: {response.status_code}")
# 如果需要,您可以打印网页内容的一部分,例如:
# print("网页内容前200字符:\n", response.text[:200])
except requests.exceptions.RequestException as e:
print(f"访问失败!错误: {e}")
time.sleep(interval_seconds) # 等待指定的时间间隔
except KeyboardInterrupt:
print("\n程序已停止。")
except Exception as e:
print(f"发生意外错误: {e}")
if __name__ == "__main__":
# 配置要访问的网址和时间间隔
target_url = "https://www.example.com" # 替换为您要访问的网址
visit_interval = 10 # 访问间隔,单位为秒
visit_website_periodically(target_url, visit_interval)
如何使用
-
安装
requests
库:
如果还没有安装requests
库,请在命令行中运行以下命令:pip install requests
-
保存代码:
将上面的代码保存为一个.py
文件,例如web_visitor.py
。 -
修改配置:
在代码中找到target_url
和visit_interval
变量:target_url = "https://www.example.com"
: 将https://www.example.com
替换为您希望定时访问的实际网址。visit_interval = 10
: 将10
替换为您希望的时间间隔(秒)。例如,如果您想每分钟访问一次,就设置为60
。
-
运行程序:
打开命令行或终端,导航到保存文件的目录,然后运行:python web_visitor.py
程序说明
requests
库: 用于发送HTTP请求,这里使用requests.get(url)
来获取网页内容。time
库:time.sleep(interval_seconds)
函数会使程序暂停执行指定秒数,从而实现定时访问。visit_website_periodically
函数:- 接受两个参数:
url
(要访问的网址)和interval_seconds
(时间间隔)。 - 使用
while True
创建一个无限循环,使程序持续运行。 - 每次循环中,它会尝试使用
requests.get()
访问网址。 response.raise_for_status()
: 这是一个非常有用的方法,如果HTTP请求返回的状态码是错误码(如4xx或5xx),它会抛出HTTPError
异常,方便我们捕获和处理错误。- 错误处理: 使用
try...except
块来捕获requests.exceptions.RequestException
(网络请求相关的错误)和KeyboardInterrupt
(当您按Ctrl+C
停止程序时)。
- 接受两个参数:
if __name__ == "__main__":
: 这是Python的标准用法,确保只有在直接运行这个脚本时,target_url
和visit_interval
才会被设置和执行。