https://image.wenhaofree.com/2025/06/84543499c9e27ad5d0ed475431ca9953.png

AI检索引擎

/img/blog/technology/vue-chrome-extension.png

根据提供的搜索结果,以下是国内外AI检索引擎的头部排行前五个,以及它们的官方网址和优缺点分析:

  1. Perplexity AI

    • 官方网址: https://www.perplexity.ai/
    • 优点: 迭代速度快,效果佳,功能创新;在事实类问题上表现出色;保持良好发展势头[2][4]
    • 缺点: 在引文回忆率和引文精确度上表现不佳;有批评认为其信源不足、结果价值低[2][4]
  2. You.com

用GTP4V控制自己的电脑

operating-computer,https://t.co/qXKNbRduXU,这个项目演示了如何让 GPT-4V 来控制自己的电脑,你需要做的就是告诉它完成一个怎样的任务,例如,打开 Google Docs 写一篇文章,然后发布并分享给同事。

如何免费用云服务搭建博客评论系统

https://blog.alswl.com/2023/11/build-blog-comment-system-based-on-free-cloud-service/

如何免费用云服务搭建博客评论系统

问题

博客自 2012 年从 WordPress 迁移到静态站点后,就选择了 Disqus 作为评论系统。 但最近 Disqus 硬广告过于频繁,迫切寻找新的评论系统。 Disqus 官方 明确说明,要去掉广告就付费。 What if I want to remove Ads? If you’d like to remove Disqus Ads from your integration, you may purchase and ads-free subscription from your Subscription and Billing page. More information on Disqus ads-free subscriptions may be found here. OK,那再见吧 Disqus,我会找到可靠、免费、易用的评论系统。 最后既然是寻找新的评论系统,现在 2023 年了, 我希望这个新系统充分使用云服务的便利,要做到 免费、可靠、易运维。 https://prod-files-secure.s3.us-west-2.amazonaws.com/b0012720-ccd1-41ef-9ca9-02f55a45f30f/3f98f17a-e8b5-4714-9b0f-94bf9f255b33/no-disqus-twitter.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20231127%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20231127T064834Z&X-Amz-Expires=3600&X-Amz-Signature=9c238b1cd9f17c7c47e14c0b9378b772b66580c29c03d0b2bc37618dd953b13d&X-Amz-SignedHeaders=host&x-id=GetObject

Notion API + Python实现阅读、影视数据可视化图表 - 知乎

https://zhuanlan.zhihu.com/p/570140268

https://prod-files-secure.s3.us-west-2.amazonaws.com/b0012720-ccd1-41ef-9ca9-02f55a45f30f/0310c42b-7548-42ed-8114-5449af28ff75/v2-4018c47f7e90badc90cbbd5a1afcd147_1440w.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20231125%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20231125T062349Z&X-Amz-Expires=3600&X-Amz-Signature=0a0b92bfa75b68c16fc5bbf19319eae41fee56476fe24c75e10d46ebb7613c41&X-Amz-SignedHeaders=host&x-id=GetObject

全部代码

import numpy as np
import requests,json
import matplotlib.pyplot as plt
import pyecharts.options as opts
from pyecharts.charts import Pie

class Notion_Data:
    def __init__(self):
        print("欢迎来到Notion数据可视化分析!")

    # 获取用户数据库ID及Token密钥
    # 数据处理
    def Notion_Data_deal(self, Database_ID: str, Token_KEY: str):
        base_url = "https://api.notion.com/v1/databases/"
        """
        接口匹配
        """
        headers = {
            "Authorization": "Bearer " + Token_KEY,
            "accept": "application/json",

        }
        query = {"filter": {"property": "出版社", "checkbox":{"equals":True}}}
        # 获取Notion页面下的详细信息 https://developers.notion.com/reference/post-database-query
        response = requests.post(base_url + Database_ID + "/query", headers=headers, data=query)
        jst = json.loads(response.text)
        return jst

    def Json_Data_deal(self, Database_ID: str, Token_KEY: str, Type: str):  # 类型仅限为:书籍、影片
        dict = self.Notion_Data_deal(Database_ID, Token_KEY)
        """获取到数据列"""
        data_len = len(dict['results'])
        # 统计类型数量,进行后续图形比例
        # 书籍以出版社为划分,影片以类别划分
        if Type == "影片":
            """获取到数据列"""
            dic = {}
            dtc = {}
            for i in range(data_len):
                name = dict['results'][i]['properties']['片名']['title'][0]['plain_text']
                select = dict['results'][i]['properties']['类别']['multi_select']
                classify = []
                for j in range(len(select)):
                    classify.append(dict['results'][i]['properties']['类别']['multi_select'][j]['name'])
                dic[name] = classify  # 类别
            ls = list(dic.items())  # 获取数据数量
            for i in range(len(ls)):
                for j in range(len(ls[i][1])):
                    if ls[i][1][j] in "奇幻":
                        ls[i][1][j] = "科幻"
                    if ls[i][1][j] in "惊悚" or ls[i][1][j] in "悬疑":
                        ls[i][1][j] = "恐怖"
                    if ls[i][1][j] in "故事" or ls[i][1][j] in "扫黑" or ls[i][1][j] in "生活":
                        ls[i][1][j] = "剧情"
                    if ls[i][1][j] in "运动":
                        ls[i][1][j] = "冒险"
                    dtc[ls[i][1][j]] = dtc.get(ls[i][1][j], 0) + 1
            lt = list(dtc.items())
            print("有效数据:" + str(len(dic)))
            return lt

        if Type == "书籍":
            dic = {}
            for i in range(data_len):
                    try:
                        name = (dict['results'][i]['properties']['出版社']['select']['name'])
                        dic[name] = dic.get(name, 0) + 1
                    except Exception:
                        pass
                    continue
            ls = list(dic.items())
            return ls

    def Notion_Visualization(self, Database_ID: str, Token_KEY: str, Type: str):    # 交互式可视化图表
        data = self.Json_Data_deal(Database_ID, Token_KEY, Type)
        lenght = len(data)
        sum = 0
        count_num, name = [], []
        for i in range(lenght):
            sum += int(data[i][1])
            name.append(data[i][0])
        for j in range(lenght):
            a = round(int(data[j][1]) / sum * 100, 2)   # 保留为两位小数
            count_num.append(a)
        np.set_printoptions(precision=2)
        data_pair_temp = [list(data) for data in zip(name, count_num)]
        p = (
            Pie()  # 实例化
                .add(
                series_name=Type,  # 系列名称
                data_pair=data_pair_temp,  # 馈入数据
                radius="65%",  # 饼图半径比例
                center=["50%", "50%"],  # 饼图中心坐标
                label_opts=opts.LabelOpts(is_show=False, position="center"),  # 标签位置
            )
                .set_global_opts(legend_opts=opts.LegendOpts(is_show=True))  # 不显示图示
                .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))  # 标签颜色
                .render(Type + ".html")  # 渲染文件及其名称
            # .render_notebook()
        )
        print("文件已保存在当前程序目录!")

        """
        # 静态可视化图表
        plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 显示中文标签,处理中文乱码问题
        plt.rcParams['axes.unicode_minus'] = False  # 坐标轴负号的处理
        plt.pie(x=count_num, labels=name, autopct='%.2f%%')
        plt.legend(loc='center')
        plt.savefig("./Image/Vedio.png")
        plt.show()
        # print(name, count_num)
        """

if __name__ == '__main__':
    text = Notion_Data()
    Database_ID = str(input("请输入数据库ID:\n"))
    Token_KEY = str(input("请输入Token密钥:\n"))
    Type = str(input("请输入类型(仅限书籍、影片):\n"))
    text.Notion_Visualization(Database_ID, Token_KEY, Type)
    # print(text.Json_Data_deal(Database_ID, Token_KEY, Type))

导言

本代码是为创建Notion数据库(Database)可视化图标,若使用Notion页面为页面(page),该教材不符合你所使用。 通俗来讲,Notion数据库是表格。但是Notion在创建之初就会将其定义为是数据库 or 页面,那么如何判断我的Notion是数据库还是包?

使用python+selenium实现微信公众号自动发文

https://juejin.cn/post/7083147111897923614

目的:每天都要通过微信公众号进行发送文章,但是每次仅仅是修改图文信息,其他设置并无不同,故通过自动化可节省大量时间,实现一键发文。 在这过程中,也遇到了一些问题,总结如下: (1)切换窗口操作时遇到 wd.title的名字一模一样(暂时使用了选择最近打开窗口解决) (2)不能准确定位到元素,后来通过copy_xpath解决,之前一直手写,后续要加强手写能力 (3)有一个输入框一直定位不到,原来是iframe中的,切换了一下就解决了 (4)下拉选项元素定位不到,要加等到时间(sleep(3)) (5)一个元素定位不到,原因是不处于可视界面,将滚动条拖动到元素位置,便可以定位到

Ladder-绕过付费墙工具 免费阅读各种付费内容

本地部署:

  • Docker启动部署
  • 访问: 127.0.0.1:8080
  • 输入: 解锁文章网址内容

文章内容:

Ladder是什么

Ladder是一个绕过付费墙工具,这是1ft.io和12ft.io的自托管版本,灵感来自13ft,可以帮助用户免费阅读各种付费内容,并从任何 URL 中删除 CORS 头,例如彭博社新闻,金融时报、金融时报、纽约格拉布街新闻网、哈佛商业评论、Quora、华尔街日报、华盛顿邮报等等,具体的可以自己试试,复制链接粘贴即可解锁绕过付费墙。支持Windows、macOS和linux等等。

OpenAI 的错位与微软的收获 – Ben Thompson 的《Stratechery》

https://stratechery.com/2023/openais-misalignment-and-microsofts-gain/

I have, as you might expect, authored several versions of this Article, both in my head and on the page, as the most extraordinary weekend of my career has unfolded. To briefly summarize:

  • On Friday, then-CEO Sam Altman was fired from OpenAI by the board that governs the non-profit; then-President Greg Brockman was removed from the board and subsequently resigned.
  • Over the weekend rumors surged that Altman was negotiating his return, only for OpenAI to hire former Twitch CEO Emmett Shear as CEO.
  • Finally, late Sunday night,
  • Satya Nadella announced via tweet
  • that Altman and Brockman, “together with colleagues”, would be joining Microsoft.
  • This is, quite obviously, a phenomenal outcome for Microsoft. The company already has a perpetual license to all OpenAI IP ( short of artificial general intelligence ), including source code and model weights; the question was whether it would have the talent to exploit that IP if OpenAI suffered the sort of talent drain that was threatened upon Altman and Brockman’s removal. Indeed they will, as a good portion of that talent seems likely to flow to Microsoft; you can make the case that Microsoft just acquired OpenAI for $0 and zero risk of an antitrust lawsuit. Microsoft’s gain, meanwhile, is OpenAI’s loss, which is dependent on the Redmond-based company for both money and compute: the work its employees will do on AI will either be Microsoft’s by virtue of that perpetual license, or Microsoft’s directly because said employees joined Altman’s team. OpenAI’s trump card is ChatGPT, which is well on its way to achieving the holy grail of tech — an at-scale consumer platform — but if the reporting this weekend is to be believed, OpenAI’s board may have already had second thoughts about the incentives ChapGPT placed on the company (more on this below). The biggest loss of all, though, is a necessary one: the myth that anything but a for-profit corporation is the right way to organize a company.

OpenAI’s Non-Profit Model

OpenAI was founded in 2015 as a “non-profit intelligence research company.” From the initial blog post : I was pretty cynical about the motivations of OpenAI’s founders, at least Altman and Elon Musk; I wrote in a Daily Update : Whatever Altman and Musk’s motivations, the decision to make OpenAI a non-profit wasn’t just talk: the company is a 501(c)3; you can view their annual IRS filings here . The first question on Form 990 asks the organization to “Briefly describe the organization’s mission or most significant activities”; the first filing in 2016 stated: Two years later, and the commitment to “openly share our plans and capabilities along the way” was gone; three years after that and the goal of “advanc[ing] digital intelligence” was replaced by “build[ing] general-purpose artificial intelligence”. In 2018 Musk, according to a Semafor report earlier this year , attempted to take over the company, but was rebuffed; he left the board and, more critically, stopped paying for OpenAI’s operations. That led to the second critical piece of background: faced with the need to pay for massive amounts of compute power, Altman, now firmly in charge of OpenAI, created OpenAI Global, LLC, a capped profit company with Microsoft as minority owner. This image of OpenAI’s current structure is from their website : OpenAI’s corporate structure https://prod-files-secure.s3.us-west-2.amazonaws.com/b0012720-ccd1-41ef-9ca9-02f55a45f30f/3c10282e-96f0-4775-893a-30995eb83c51/openai-2.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20231125%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20231125T071959Z&X-Amz-Expires=3600&X-Amz-Signature=dee919564ad812372b6c77b0d62c17ee4965d7dd580b09483425b156bcf5dc65&X-Amz-SignedHeaders=host&x-id=GetObject OpenAI Global could raise money and, critically to its investors, make it, but it still operated under the auspices of the non-profit and its mission; OpenAI Global’s operating agreement states: Microsoft, despite this constraint on OpenAI Global, was not only an investor, but also a customer, incorporating OpenAI into all of its products.

图片转代码

https://github.com/abi/screenshot-to-code

screenshot-to-code

This simple app converts a screenshot to HTML/Tailwind CSS. It uses GPT-4 Vision to generate the code and DALL-E 3 to generate similar-looking images. Details Youtube.Clone.mp4 See the Examples section below for more demos.

🚀 Try It Out!

🆕 Try it here (bring your own OpenAI key - your key must have access to GPT-4 Vision. See FAQ section below for details ). Or see Getting Started below for local install instructions.

Python操作selenium模拟网页点击

https://blog.csdn.net/weixin_43145427/article/details/125193957

Selenium是一个用电脑模拟人操作浏览器网页,可以实现自动化,测试等!

  1. 安装 seleniumm
pip install selenium
  1. 下载浏览器驱动 Chrome浏览器驱动: chromedriver , CNPM Binaries Mirror (npmmirror.com) , taobao备用地址 需要把浏览器驱动放入系统路径中,或者直接告知selenuim的驱动路径 另外启动浏览器,可以设置一些参数,比如无界面之类的,详细参考:
​补充添加代理参数:options.add_argument("--proxy-server=http://XXXXX.com:80")

可以测试是否正常使用,以下代码: