当前位置:首页>python>5python之列表搜索及获取标签处理

5python之列表搜索及获取标签处理

  • 2026-10-11 23:11:58
5python之列表搜索及获取标签处理

写在前面的话

趴下继续睡。昨天,在图书馆遇见一哥们。我问他怎么11点了才来,他说,我比较随性,主打一个出其不意。我要他展开说说。他说:“我给你讲一个事,之前老家人说让我介绍工作,我满口答应,结果之后的某一天,老家人过来了,推门进入,我当时困的不行,正趴在桌子上睡,他们推醒我,我看了他们一眼,趴下继续睡。老家人气愤的摔门而去;我醒来老妈责备我说,你之前答应过的,怎么这个态度。我给老妈说,答应的事一定要办吗,谁规定的。后来,哥们只要回村,就会招人骂,我慢慢也习惯了”。再后来,哥们受不了公司约束,出来自己做,但毫无章法,有时连着三天不睡,有时连睡三天,最后,做直播,写好的哪天几点直播,结果没开播,但一些粉丝就喜欢他这种出其不意,觉得有趣,给别人带来快乐,他也赚到了钱。给我的感觉是这哥们活出了真我,是个奇人。

[336]-------底部有张生活照片

【关键词】python、neo4j、列表搜索、获取标签

一、python+neo4j接口相关

1.列表搜索

描述,对属性列表,建个搜索,像节点id太多了,不搜索基本不行。

开工:

第一步:搜索关键字-1357

总共六项,如下:

{
    "type":"node_labels",
    "type":"entity_type",
    "type":"source_id",
    "type":"description",
    "type":"id",
    "type":"relation_labels",
}

注:应该看 "type":"relation_labels",修改程序如下:

图5a-1

注:这个也是用contains搞一下就可以。

第二步:上线

把代码上线,并改下接口文档

2.获取标签

描述:现在需要获取下库里的所有节点标签,之前是写到一个json里,需要优化一下。

开工:

第一步:时间段

【1528-1540】【0927-0940】【1115-1120】

第二步:获取-1050

写个程序获取一下,程序如下:

CALL db.labels() YIELD label
WHERE label = 'Person'
RETURN label

注:可以参考这个。

修改程序如下:

@lru_cache(maxsize=None)
def getLabelsDataUseCache(keyword,limit):
    res_data = [{"id":"id"}]
    sql = """
        CALL db.labels() YIELD label
        WHERE label CONTAINS '"""+keyword+"""'
        WITH DISTINCT label AS distinct_column_name
        limit """+limit+"""
        RETURN {id: distinct_column_name} AS column_data;
    """
    # writeMyLog(sql,get_caller_line_number()+'sql-getLabelsDataUseCache')
    res_data = getSelectData(sql)
    r_data=[]
    for record in res_data:
        r_data.append(record['column_data'])
    if r_data:
        res_data = r_data
    return res_data

注:这个里面,使用了缓存,因为线上是2.6,所以,使用了旧的缓存方法@lru_cache(maxsize=None)。

第三步:测试

测试还可以

3.颜色处理

描述:现在返回前端数据时,要给个节点颜色,颜色来源是一个json文件,要对不同的节点entity_type,标注不同的颜色,现在需要优化一下。当前现状,截图如下:

图5a-2

开工:

第一步:时间段

【1115-1120】

第二步:实体

看下有多少个实体,语句如下:

            MATCH (n)
            WITH DISTINCT n.entity_type AS distinct_column_name
            limit 10000
            RETURN {id: distinct_column_name} AS column_data;

注:太多了,上千个数据,截图如下:

图5a-3

注:选择前七个就可以,其它先不管,修改如下:

图5a-4

注:先这样。

第三步:测试

测试还可以

二、php-laravel相关

1.运行项目之数据库

描述:现在数据库能连上,但建表出问题。截图如下:

图5b-1

分析:应该是字符太长了,处理一下。

开工:

第一步:处理-1934

要了个数据库,可以了,截图如下:

图5b-2

注:破解下登录。

第二步:破解登录-2024

打个公共日志,先找个公共方法,如下:

图5b-3

注:这个在helpers里面。破解密码如下:

图5b-4

注:这个密码在哪验证的呢,神奇了。

第三步:跳过验证(0-20)

跳过验证不成功,密码也暂停一下。因为对方给了。接下来,后端生成邀请码,前端请求,提示又使用,看下为什么不行。

明明未使用。

2.邀请码过期

描述:后台生成邀请码,前台未使用,就提示已使用。截图如下:

图5b-5

开工:

第一步:时间段

【1608-1620】【1214-1230】【1652-1730】

第二步:看下前台验证代码
第三步:测试

三、数据抽取相关

1.运行项目

描述:有一个项目,开源框架,需要运行一下,它的功能是能进行数据抽取。给出一个pdf,能提取里面的文字到一个txt。

开工:

第一步:时间段

【0951-1020】

第二步:下载项目

项目地址:

https://github.com/Unstructured-IO/unstructured

clone地址:

https://github.com/Unstructured-IO/unstructured.git

第三步:运行项目

安装pdf扩展,已完成,转pdf代码如下:

import unstructured
from unstructured.partition.auto import partition

elements = partition("paper.pdf")
# 打印提取的元素
for element in elements:
    print(element)

注:运行结果如下:

图5c-1

注:接下来,解析下一篇文章。

2.解析文章

描述:使用unstructure主要是为了解决文章带目录,按目录章节解析的问题,现在找一篇带目录的解析一下。

开工:

第一步:时间段

【1046-1100】

第二步:找一篇文章

找了一个pdf,截图如下:

图5c-2

注:运行报错,如下:

E:\16python\data_get1127\data_get_local>python 1.py
Traceback (most recent call last):
  File "D:\Python\Python39\lib\site-packages\pdf2image\pdf2image.py", line 581, in pdfinfo_from_path
    proc = Popen(command, env=env, stdout=PIPE, stderr=PIPE)
  File "D:\Python\Python39\lib\subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "D:\Python\Python39\lib\subprocess.py", line 1420, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] 系统找不到指定的文件。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "E:\16python\data_get1127\data_get_local\1.py", line 4, in <module>
    elements = partition("05_xiao.pdf")
  File "D:\Python\Python39\lib\site-packages\unstructured\partition\auto.py", line 337, in partition
    elements = partition_pdf(
  File "D:\Python\Python39\lib\site-packages\unstructured\documents\elements.py", line 581, in wrapper
    elements = func(*args, **kwargs)
  File "D:\Python\Python39\lib\site-packages\unstructured\file_utils\filetype.py", line 725, in wrapper
    elements = func(*args, **kwargs)
  File "D:\Python\Python39\lib\site-packages\unstructured\file_utils\filetype.py", line 683, in wrapper
    elements = func(*args, **kwargs)
  File "D:\Python\Python39\lib\site-packages\unstructured\chunking\dispatch.py", line 74, in wrapper
    elements = func(*args, **kwargs)
  File "D:\Python\Python39\lib\site-packages\unstructured\partition\pdf.py", line 209, in partition_pdf
    return partition_pdf_or_image(
  File "D:\Python\Python39\lib\site-packages\unstructured\partition\pdf.py", line 339, in partition_pdf_or_image
    elements = _partition_pdf_or_image_with_ocr(
  File "D:\Python\Python39\lib\site-packages\unstructured\partition\pdf.py", line 860, in _partition_pdf_or_image_with_ocr
    for page_number, image in enumerate(
  File "D:\Python\Python39\lib\site-packages\unstructured\partition\pdf_image\pdf_image_utils.py", line 400, in convert_pdf_to_images
    info = pdf2image.pdfinfo_from_path(filename)
  File "D:\Python\Python39\lib\site-packages\pdf2image\pdf2image.py", line 607, in pdfinfo_from_path
    raise PDFInfoNotInstalledError(
pdf2image.exceptions.PDFInfoNotInstalledError: Unable to get page count. Is poppler installed and in PATH?

注:这个表示需要安装一个Poppler,需要自己去找。

四、生活照片

拍摄于‎2025‎年‎12‎月‎6‎日,‏‎18:22:24,大宝过生日时拍的,当时,大宝8岁。后来我想了想,这哥们歪打正着的成功了,一身明牌,很气派。他抓住了网红千篇一律的同质感,把自己的个性打出来,粉丝还就爱这一口,也可以说是一个畸形的存在。但很多时候,他这种不顾别人感受的做法,是要遭到反噬的,比如:他和一个老板约好,下周三晚上8点会面谈事,结果他没去,也没提前通知,也不说明原因,用他的话说,约好就一定要去啊。那可能以后,那个老板就不理他了。所说,还是不建议学他,风险太大。

图5d-1

五、昨日花销

昨日花销截图如下:

图5e-1

《本文完》

最新文章

随机文章