Python从配置文件读取http url链接地址并自动用浏览器打开链接
假设现在名为address.txt中每行每行的写入以下字符串:
https://zhangphil.blog.csdn.net
zhang
http://baidu.com
phil
https://zhangphil.blog.csdn.net
用Python的webbrowser自动打开address.txt中合法的url链接地址。代码如下:
import logging
import re
import webbrowser
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s')
def read_file(filename):
f = open(filename, "r")
addrs = []
for line in f:
#Python正则匹配合法URL,否则不予访问。
#注意,该正则只能匹配以http开头的合法url链接,若以www开头则不能匹配。
#比如,www.baidu.com该正则匹配返回False,但是www.baidu.com实际上是可以访问。
if re.match(r'^https?:/{2}\w.+$', line):
#检测该链接地址(line)是否在已访问列表中。若没有打开过,则打开,否则不再打开。
if line not in addrs:
visit(line)
#访问后把该链接地址加入addrs。
addrs.append(line)
else:
logging.info(line+"已经打开过")
else:
logging.info(line+"非法URL")
f.close()
#根据合法的url链接地址访问具体的网站。
def visit(addr):
try:
#用浏览器打开链接地址。
webbrowser.open(addr)
except:
logging.debug("访问错误-"+addr)
if __name__ == '__main__':
read_file("address.txt")