美文网首页清风Python
还在用书签栏?太low了,Python能为网站添加快捷方式!

还在用书签栏?太low了,Python能为网站添加快捷方式!

作者: 清风Python | 来源:发表于2021-01-25 00:12 被阅读0次

    保存历史网站

    作为程序员,我们日常在资料搜索或者网站学习过程中,经常会遇到一些有趣的网站,或者需要收藏的网站,比如这个宝藏(逗比)博主的个人博客==>: https://qingfengpython.cn

    那么,当我们需要收藏这些网站,以备后续查看时,该如何操作呢?大体有这么两类人:

    1. 创建一个桌面的浏览器快捷方式,以备后续使用,比如这样:
    image-20210124213145869.png
    1. 使用ctrl+D创建一个书签栏,下次点击访问
    image.png
    然后的然后,不管你使用以上哪种方式,随着你不时的保存一些网站,导致的结果就是快捷方式/书签栏一大堆,找起来麻烦费事。而且,人云亦云的操作,怎么能符合程序员高大上(装13)的心态呢?
    
    今天就来教大家一个高逼格的网站快捷访问方式。
    
    ## 搜索引擎
    
    谈到搜索引擎,很多人第一时间想到的就是,度娘、Google、so、bing这类大家常用的搜索引擎。大家可以通过如下方式来查看自己浏览器上设置的搜索引擎:
    
    image-20210124214108026.png

    你以为我要给大家讲搜索引擎哪家强,中国山东找蓝翔吗???No....

    大家注意到,搜索引擎红框中有一个关键字的的列,当我们输入了这个关键字,就可以快速的跳转至该网址。那么,如果我们把需要记载的网站,保存在下方的其他搜索引擎中,是不就能达到快速搜索的目的呢?

    让我们做个测试,我们将刚才提到的宝藏博主网站,通过设置关键字保存一个其他类型的搜索引擎。

    [ image.png

    添加好个快捷方式,下来让我们尝试下访问网站的效果吧:

    清风Python搜索引擎.gif

    为了保证测试的可靠性,我们专门开一个chrome的无痕浏览。当我们输入 qf,网页已经识别出了我们设置的快捷方式。然后敲击回车完成跳转....是不是既简单又快速。

    那么,到这里文章就完了?怎么可能...既然是程序员,一个一个手动填写也太对不起身份了,让我们来使用代码批量添加吧!

    chrome浏览器的数据存储

    chrome浏览器作为程序员标配,咱们平时访问和保存的信息都存放在哪里呢?让我们找找看....首先我们通过在桌面,右键chrome图标,打开文件位置,找到了chrome的安装路径:

    C:\Users\Administrator\AppData\Local\Google\Chrome\Application

    然后返回当前的父级目录(即Chrome文件夹),然后依次进入User Data\Default文件夹内。既然我们刚才添加了内容,就将内部的文件按照修改日期排序,会看到一些没有文件类型的奇怪文件,熟悉数据存储的朋友大概可以猜到,微型应用都喜欢使用SQLite数据库,因为文本即数据库操作简单方便。根据大小和修改时间,我猜咱们的搜索引擎数据存储在Preferences文件夹内。

    image.png

    别问我为何如此能掐会算,这个秘密只有我师兄李白知道:

    天上白玉京,十二楼五城。仙人抚我顶,结发受长生。

    让我们用SQLiteStudio工具打开数据库瞧瞧吧:

    image.png

    通过查看keywords表,我们找到刚才添加的搜索引擎数据,对应的看看它的表结构要求。

    Python网站数据插入

    都分析到这里了,小伙伴们还等什么,开始写代码批量插入数据吧!秉承着Python之禅 “简洁胜于复杂”的理念,这里就不使用excel表格了,用Python再带的csv和sqlite3模块来整理数据完成插入吧。

    开始撸代码:

    # -*- coding: utf-8 -*-
    # @Author   : 王翔
    # @微信号   : King_Uranus
    # @公众号    : 清风Python
    # @GitHub   : https://github.com/BreezePython
    # @Date     : 2021/01/24 22:38:53
    # @Software : PyCharm
    # @version  :Python 3.9.1
    # @File     : add_web_link.py
    import sqlite3
    import csv
    import os
    ​
    ​
    class AddChromeLink:
     def __init__(self):
     self.db_file = os.path.join(os.environ['LOCALAPPDATA'], r'Google\Chrome\User Data\Default\Web Data')
     self.conn = self.db_conn()
    ​
     def check_db_file(self):
     if not os.path.exists(self.db_file):
     input("奇怪了,洗洗睡吧。怎么找不到你的chrome浏览器数据库!")
     exit(1)
    ​
     def db_conn(self):
     conn = sqlite3.connect(self.db_file, timeout=3)
     return conn
    ​
     def get_start_id(self):
     cursor = self.conn.cursor()
     try:
     cursor.execute('select max(id) from keywords')
     record = cursor.fetchone()
     return record[0] + 1
     except sqlite3.OperationalError:
     input("数据库已锁,请先关闭chrome浏览器,在进行数据插入操作.")
     exit(1)
     finally:
     cursor.close()
    ​
     def insert_web_link(self):
     web_links = csv.DictReader(open('website.csv'), delimiter='\t')
     start_id = self.get_start_id()
     cursor = self.conn.cursor()
     try:
     for id, line in enumerate(web_links, start=start_id):
     sql = "insert into keywords (id,favicon_url,short_name,keyword,url) values (?,?,?,?,?)"
     cursor.execute(sql, (id, '', *line.values()))
     print("数据 %s 已插入." % list(line.values()))
     self.conn.commit()
     except sqlite3.OperationalError:
     input("数据库已锁,请先关闭chrome浏览器,在进行数据插入操作.")
     finally:
     cursor.close()
     self.conn.close()
    ​
    ​
    if __name__ == '__main__':
     ChromeLink = AddChromeLink()
     ChromeLink.check_db_file()
     ChromeLink.db_conn()
     ChromeLink.insert_web_link()
     input()
    

    最终效果如下:

    image.png

    让我们来测试下代码插入的快捷方式:

    测试结果.gif

    当然,既然是装13的小工具,当然帮大家打包好exe了,填写excel双击即可运行:

    image.png

    都看到这里了,喜欢的朋友别忘记点个赞哦!公众号回复 链接获取,即可得到我整理好的代码和小工具,希望大家喜欢。

    结束语

    最近创建了一个清风Python资源分享与学习交流群,喜欢的朋友加我微信,我拉你入群。那些微商和为了进群发广告的就别自讨无趣了,群内禁止推文与发广告,发现必踢!
    期待你关注我的公众号清风Python,如果你觉得不错,希望能动动手指转发给你身边的朋友们。
    我的个人博客地址:https://qingfengpython.cn/

    相关文章

      网友评论

        本文标题:还在用书签栏?太low了,Python能为网站添加快捷方式!

        本文链接:https://www.haomeiwen.com/subject/wsavzktx.html