这段代码是用于过滤失效的谷歌浏览器书签的脚本。它读取一个导出的书签文件(HTML格式),然后检查书签中的链接是否有效。有效的链接会被保留在一个新的HTML文件中,而失效的链接则会被记录在另一个HTML文件中。
以下是代码的主要部分:
main_start
函数:这是主要的处理函数,它打开输入的书签文件以及两个输出文件,一个用于保存有效链接,另一个用于保存失效链接。然后,它逐行读取书签文件中的内容,进行链接的检查和处理。preg_match
和preg_match_github
:这是用于匹配链接的正则表达式模式。preg_match
用于匹配书签中的链接,而preg_match_github
用于检查是否是 GitHub 链接。- 在书签文件中逐行循环:对于每一行,它首先尝试匹配链接并处理。如果链接匹配成功,它会尝试访问链接并检查响应状态码。如果状态码是 404,表示链接失效,会将链接添加到
bed_html
中。如果链接有效或者发生异常,会将原始行添加到filter_html
中。 - 将有效和失效的链接写入文件:最后,
filter_html
中的有效链接会写入到名为整理后的书签文件.html
的输出文件中,bed_html
中的失效链接会写入到名为失效的书签文件.bed.html
的输出文件中。 __name__ == '__main__'
:确保只有在直接运行脚本时才会执行main_start
函数。
请注意,这段代码使用了 requests 库来访问链接并检查状态码,需要确保你已经安装了这个库。此外,对于链接的有效性检查可能会受到一些因素的影响,例如网络延迟等,因此需要注意脚本的执行时间和效果。
# 过滤失效的谷歌浏览器书签
import re
import requests
# 按 Shift+F10 执行或将其替换为您的代码。
# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。
def main_start():
new_file = open('./整理后的书签文件.html', mode='w', encoding='utf-8')
new_file2 = open('./失效的书签文件.bed.html', mode='w', encoding='utf-8')
# 字符匹配
preg_match = re.compile('A HREF=".*ADD_DATE')
preg_match_github = re.compile('github')
filter_html = ''
bed_html = ''
with open('./谷歌浏览器导出的书签文件', encoding='utf-8') as bookmark:
num = 0
for item in bookmark.readlines():
if num == 10:
break
str_match = preg_match.search(item)
if str_match != None:
group_str = str_match.group()
group_str = group_str.replace('A HREF="', '')
group_str = group_str.replace('" ADD_DATE', '')
print(f' 开始请求:{group_str}')
try:
github_search = preg_match_github.search(group_str)
if github_search != None:
filter_html += item + '\n'
else:
rr = requests.get(group_str, timeout=5)
if rr.status_code == 404:
bed_html += group_str + '\n'
print(f'{group_str} 这个网址失效啦!')
else:
filter_html += item + '\n'
print(f' 成功响应:{group_str}')
except:
bed_html += group_str + '\n'
print(f'except:{group_str} 这个网址失效啦!')
else:
filter_html += item + '\n'
new_file.write(filter_html)
new_file2.write(bed_html)
# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':
main_start()
评论前必须登录!
注册