主頁 >  其他 > python正則運算式提取空串列

python正則運算式提取空串列

2020-09-20 23:01:01 其他

要提取http://career.cic.tsinghua.edu.cn/xsglxt/f/jyxt/anony/xxfb各網址和標題,能正確提取網頁源代碼,但結果為空串列
import requests
import re
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36'}
url = 'http://career.cic.tsinghua.edu.cn/xsglxt/f/jyxt/anony/xxfb'
res = requests.get(url, headers=headers).text
print(res)
p_href = '<li class="clearfix"><span>.*?</span>.*?<a ahref="https://bbs.csdn.net/topics/(.*?)" href="javascript:void(0)" style="color:.*? ;" fbfw="外">.*?</a>.*?</li> '
href = re.findall(p_href, res, re.S)
p_title = 'href="https://bbs.csdn.net/topics/.*? " fbfw="外">(.*?)</a>'
title = re.findall(p_title, res, re.S)
print(href)
print(title)

uj5u.com熱心網友回復:

1.對于html來說,其實不太建議用re正則去匹配。建議用BeautifulSoup去匹配
Python專題教程:BeautifulSoup詳解
2.非要匹配的話,我幫你除錯出匹配的代碼了

# Function: python正則運算式提取空串列-CSDN論壇
#   https://bbs.csdn.net/topics/395845984
# Author: Crifan Li
# Update: 20200215

import codecs

import requests
import re

# headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36'}
# url = 'http://career.cic.tsinghua.edu.cn/xsglxt/f/jyxt/anony/xxfb'
# res = requests.get(url, headers=headers).text
# print(res)

respHtmlFile = "responseHtml.html"

# with open(respHtmlFile, "w") as htmlFp:
#   htmlFp.write(res)
#   htmlFp.close()

def loadTextFromFile(fullFilename, fileEncoding="utf-8"):
    """load file text content from file"""
    with codecs.open(fullFilename, 'r', encoding=fileEncoding) as fp:
        allText = fp.read()
        # logging.debug("Complete load text from %s", fullFilename)
        return allText

res = loadTextFromFile(respHtmlFile)

"""
<li class="clearfix"><span>2020-12-31</span>
                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                              
      <a ahref="https://bbs.csdn.net/xsglxt/f/jyxt/anony/showZwxx?zpxxid=104719161&type=" href="javascript:void(0)" style="color:#ff0000;" fbfw="外">2019-2020年度全國各地選調生招錄、事業單位人才引進資訊匯總————全國各地選調生資訊匯總</a>
                                                                                                                                                                                                                                                                          
                                                  
    </li> 
"""

# p_href = '<li class="clearfix"><span>.*?</span>.*?<a ahref="https://bbs.csdn.net/topics/(.*?)" href="javascript:void(0)" style="color:.*? ;" fbfw="外">.*?</a>.*?</li> '
# p_href = '<li class="clearfix"><span>.*?</span>.*?<a ahref="https://bbs.csdn.net/topics/(.*?)" href="javascript:void(0)" style="color:.*?;" fbfw="外">.*?</a>.*?</li>'
# p_href = '<li class="clearfix"><span>.+?</span>\s*<a ahref="https://bbs.csdn.net/topics/(.*?)" href="javascript:void(0)" style="color:.*?;" fbfw="外">.*?</a>\s*</li>'
# p_href = 'href="javascript:void\(0\)" style="color:.*?;" fbfw="外">.*?</a>\s*</li>'
# p_href = '<li class="clearfix"><span>.*?</span>.*?<a ahref="https://bbs.csdn.net/topics/(.*?)" href="javascript:void\(0\)" style="color:.*? ;" fbfw="外">.*?</a>.*?</li> '
# p_href = '<li class="clearfix"><span>.+?</span>\s*<a ahref="https://bbs.csdn.net/topics/(.*?)" href="javascript:void\(0\)" style="color:.*?;" fbfw="外">.*?</a>\s*</li>'
p_href = '<li class="clearfix"><span>.*?</span>.*?<a ahref="https://bbs.csdn.net/topics/(.*?)" href="javascript:void\(0\)" style="color:.*?;" fbfw="外">.*?</a>.*?</li>'
href = re.findall(p_href, res, re.S)
p_title = 'href="https://bbs.csdn.net/topics/.*? " fbfw="外">(.*?)</a>'
title = re.findall(p_title, res, re.S)
print(href)
print(title)



其中:
你的正則,主體沒問題,但是有2個小的小失誤:
(1)
style="color:.*? ;"

多了個空格, 應該是:
style="color:.*?;"


(2)
href="javascript:void(0)"

沒有把括號轉義,應該是:
href="javascript:void\(0\)"



uj5u.com熱心網友回復:

關于正則,可參考我寫的

應用廣泛的超強搜索:正則運算式

Python中正則運算式:re模塊詳解


uj5u.com熱心網友回復:

后來整理出BeautifulSoup的完整教程了:
網頁決議利器:BeautifulSoup

其中包括,把你此處的需求,用 正則re 和 bs4,都完整實作了一遍

代碼如下:

# Function: 通過對比說明如何用BeautifulSoup和正則re去提取html中的內容
#   舉例所用需求來自此帖:
#     python正則運算式提取空串列-CSDN論壇
#     https://bbs.csdn.net/topics/395845984
#   后已經整理至教程:
#     網頁決議利器:BeautifulSoup
#     http://book.crifan.com/books/html_parse_tool_beautifulsoup/website
# Author: Crifan Li
# Update: 20200216

import codecs
from bs4 import BeautifulSoup
import re

respHtmlFile = "responseHtml.html"

# 第一次:初始化,保存html到檔案
import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36'}
url = 'http://career.cic.tsinghua.edu.cn/xsglxt/f/jyxt/anony/xxfb'
respHtml = requests.get(url, headers=headers).text
# save html to file for later debug
with open(respHtmlFile, "w") as htmlFp:
  htmlFp.write(respHtml)
  htmlFp.close()

# # 后續除錯:從檔案中讀取html代碼,方便除錯
# def loadTextFromFile(fullFilename, fileEncoding="utf-8"):
#   """load file text content from file"""
#   with codecs.open(fullFilename, 'r', encoding=fileEncoding) as fp:
#     allText = fp.read()
#     # logging.debug("Complete load text from %s", fullFilename)
#     return allText
# respHtml = loadTextFromFile(respHtmlFile)

"""
【要處理的html的原始碼】

<li class="clearfix"><span>2020-12-31</span>
                                                                                                                                                                                                                                            
   <a ahref="https://bbs.csdn.net/xsglxt/f/jyxt/anony/showZwxx?zpxxid=104719161&type=" href="javascript:void(0)" style="color:#ff0000;" fbfw="外">2019-2020年度全國各地選調生招錄、事業單位人才引進資訊匯總————全國各地選調生資訊匯總</a>
                                               
        </li>                                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                    
<li class="clearfix"><span>2020-12-31</span>
                                                                                                                                                                                                                                            
   <a ahref="https://bbs.csdn.net/xsglxt/f/jyxt/anony/showZwxx?zpxxid=41174064&type=" href="javascript:void(0)" style="color:#ff0000;" fbfw="外">學術就業相關資訊————清華大學學生職業發展指導中心</a>
                                               
        </li>   
  ...

【背景解釋】
上述html元素結構是:
li
  span
  a
    中文文字

【需求說明】
假如要提取的是:
每個li中a的:
  ahref的鏈接地址
  中文文字
"""

################################################################################
# 用正則re提取html內容
################################################################################
print("="*20, "用正則re提取html內容", "="*20)

print("="*10, "方式1:用re.findall一次性找2個值", "="*10)

# 方式1:匹配整個li的部分
wholeLiP = '<li\s+class="clearfix"><span>.*?</span>\s*<a\s+ahref="https://bbs.csdn.net/topics/(.*?)"\s+href="javascript:void\(0\)"\s+style="color:.*?;"\s+fbfw="外">(.*?)</a>\s*</li>'
print("wholeLiP=%s" % wholeLiP)

foundAllMatchedTupleList = re.findall(wholeLiP, respHtml, re.S)

# # 方式2:只匹配a的部分
# onlyAP = '<a\s+ahref="https://bbs.csdn.net/topics/(.*?)"\s+href="javascript:void\(0\)"\s+style="color:.*?;"\s+fbfw="外">(.*?)</a>'
# print("onlyAP=%s" % onlyAP)
# foundAllMatchedTupleList = re.findall(onlyAP, respHtml, re.S)

# print("foundAllMatchedTupleList=%s" % foundAllMatchedTupleList)
for curIdx, eachTuple in enumerate(foundAllMatchedTupleList):
  # 之前正則中有2個括號,對應2個group組:ahref="https://bbs.csdn.net/topics/(.*?)",和 >(.*?)</a>
  # -》此處匹配到的值是個tuple元素,是2個元素,分別對應著之前的2個group
  print("-"*10, "[%d]" % curIdx, "-"*10)
  print("type(eachTuple)=%s" % type(eachTuple))
  # type(eachTuple)=<class 'tuple'>
  (matchedFirstGroupStr, matchedSecondGroupStr) = eachTuple
  ahrefValue = matchedFirstGroupStr
  contentStrValue = matchedSecondGroupStr
  print("ahrefValue=https://bbs.csdn.net/topics/%s, contentStrValue=%s" % (ahrefValue, contentStrValue))
  # ahrefValue=https://bbs.csdn.net/xsglxt/f/jyxt/anony/showZwxx?zpxxid=104719161&type=, contentStrValue=2019-2020年度全國各地選調生招錄、事業單位人才引進資訊匯總————全國各地選調生資訊匯總

print("="*10, "方式2:用re.finditer找,支持更多可能性", "="*10)

foundAllMatchObjectList = re.finditer(wholeLiP, respHtml, re.S)
# foundAllMatchObjectList=<callable_iterator object at 0x10f4274e0>
print("foundAllMatchObjectList=%s" % foundAllMatchObjectList)
for curIdx, eachMatchObject in enumerate(foundAllMatchObjectList):
  print("-"*10, "[%d]" % curIdx, "-"*10)
  # re.finditer回傳的是Match Objects的list
  print("type(eachMatchObject)=%s" % type(eachMatchObject))
  # type(eachMatchObject)=<class 're.Match'>
  group1Value = eachMatchObject.group(1)
  group2Value = eachMatchObject.group(2)
  ahrefValue = group1Value
  contentStrValue = group2Value
  print("ahrefValue=https://bbs.csdn.net/topics/%s, contentStrValue=%s" % (ahrefValue, contentStrValue))
  # ahrefValue=https://bbs.csdn.net/xsglxt/f/jyxt/anony/showZwxx?zpxxid=104719161&type=, contentStrValue=2019-2020年度全國各地選調生招錄、事業單位人才引進資訊匯總————全國各地選調生資訊匯總

  # 額外說明:
  # 如果你前面正則中是named group帶命名的組,比如:
  # ... ahref="https://bbs.csdn.net/topics/(?P.*?)" ... >(?P<contentStr>.*?)</a>
  # 那么也可以通過group name組名去獲取值:
  # ahrefValue = eachMatchObject.group("ahref")
  # contentStrValue = eachMatchObject.group("contentStr")

################################################################################
# 用BeautifulSoup提取html內容
################################################################################
print("="*20, "用BeautifulSoup提取html內容", "="*20)

soup = BeautifulSoup(respHtml, 'html.parser')
# print("soup=%s" % soup)

print("="*10, "方式1:先找外層的li,再去li中找其中的a", "="*10)

# 找li的方式1:通過attrs指定屬性
# foundLiList = soup.find_all('li', attrs={"class": "clearfix"})
# 找li的方式2:class 在Python中是保留字 -> BeautifulSoup >4.1.1后,用class_指定CSS的類名
foundLiList = soup.find_all('li', class_="clearfix")
# print("foundLiList=%s" % foundLiList)
for curIdx, eachLi in enumerate(foundLiList):
  print("-"*10, "[%d]" % curIdx, "-"*10)
  print("type(eachLi)=%s" % type(eachLi))
  # type(eachLi)=<class 'bs4.element.Tag'>
  foundA = eachLi.find("a", attrs={"fbfw":"外"})
  print("foundA=%s" % foundA)
  # foundA=<a ahref="https://bbs.csdn.net/xsglxt/f/jyxt/anony/showZwxx?zpxxid=104719161&type=" fbfw="外" href="javascript:void(0)" style="color:#ff0000;">2019-2020年度全國各地選調生招錄、事業單位人才引進資訊匯總————全國各地選調生資訊匯總</a>
  if foundA:
    ahref = foundA["ahref"]
    print("ahref=https://bbs.csdn.net/topics/%s" % ahref)
    # ahref=https://bbs.csdn.net/xsglxt/f/jyxt/anony/showZwxx?zpxxid=104719161&type=
    contentStr = foundA.string
    print("contentStr=%s" % contentStr)
    # contentStr=2019-2020年度全國各地選調生招錄、事業單位人才引進資訊匯總————全國各地選調生資訊匯總

print("="*10, "方式2:直接找a,加上限定條件", "="*10)

# foundAList = soup.find_all('a', attrs={"fbfw":"外"}) # 只加上一個fbfw的限定條件,此處也是可以的
ahrefNonEmptyP = re.compile("\S+") # ahref="https://bbs.csdn.net/xsglxt/f/jyxt/anony/showZwxx?zpxxid=104719161&type="
print("ahrefNonEmptyP=%s" % ahrefNonEmptyP)
# foundAList = soup.find_all('a', attrs={"fbfw":"外", "ahref": ahrefNonEmptyP})
styleColorP = re.compile("color:#[a-zA-Z0-9]+;") # style="color:#ff0000;"
print("styleColorP=%s" % styleColorP)
foundAList = soup.find_all('a', attrs={"fbfw":"外", "ahref": ahrefNonEmptyP, "style": styleColorP})
# print("foundAList=%s" % foundAList)
for curIdx, eachA in enumerate(foundAList):
  print("-"*10, "[%d]" % curIdx, "-"*10)
  print("type(eachA)=%s" % type(eachA))
  # type(eachA)=<class 'bs4.element.Tag'>
  ahref = eachA["ahref"]
  print("ahref=https://bbs.csdn.net/topics/%s" % ahref)
  # ahref=https://bbs.csdn.net/xsglxt/f/jyxt/anony/showZwxx?zpxxid=104719161&type=
  contentStr = eachA.string
  print("contentStr=%s" % contentStr)
  # contentStr=2019-2020年度全國各地選調生招錄、事業單位人才引進資訊匯總————全國各地選調生資訊匯總

################################################################################
# 對比:re vs BeautifulSoup
################################################################################
print("="*20, "對比:re vs BeautifulSoup", "="*20)

reVsBeautifulSoup = """
re正則的缺點:
萬一html源代碼改動了,即使改動很小,則之前已有的re正則運算式就失效了
舉例:
只是a的屬性的順序變化一點點

  <a ahref="https://bbs.csdn.net/xsglxt/f/jyxt/anony/showZwxx?zpxxid=104719161&type=" href="javascript:void(0)" style="color:#ff0000;" fbfw="外">2019-2020年度全國各地選調生招錄、事業單位人才引進資訊匯總————全國各地選調生資訊匯總</a>
改為:
  <a href="javascript:void(0)" ahref="https://bbs.csdn.net/xsglxt/f/jyxt/anony/showZwxx?zpxxid=104719161&type=" fbfw="外" style="color:#ff0000;">2019-2020年度全國各地選調生招錄、事業單位人才引進資訊匯總————全國各地選調生資訊匯總</a>
之前正則:
  '<a\s+ahref="https://bbs.csdn.net/topics/(.*?)"\s+href="javascript:void\(0\)"\s+style="color:.*?;"\s+fbfw="外">(.*?)</a>'
就無效了,就要再去改為:
  '<a\s+href="javascript:void\(0\)"\s+ahref="https://bbs.csdn.net/topics/(.*?)"\s+fbfw="外"\s+style="color:.*?;">(.*?)</a>'
才可以匹配到。

更別說,萬一html中代碼有其他更大的變化
甚至是部分語法不規范的html代碼,re正則根本就沒法寫,因為太復雜,復雜到寫不出來

BeautifulSoup的優點:
與之相對:上述的,html代碼的小改動,比如屬性值出現的順序不同
甚至大點的變化,多出其他屬性值
甚至部分語法不規范的html代碼,BeautifulSoup都可以很好的內部處理掉
而之前的代碼,比如:
  soup.find_all('a', attrs={"fbfw":"外", "ahref": nonEmptyP})
都可以很好的繼續作業,而無需改動。

匯總起來就是:

re
  性能:好
  支持html程度:有限
    僅限于不是很復雜的,比較規整的html
BeautifulSoup
  性能:中等
  支持html程度:很好
    不僅支持復雜的html,還支持html內部元素和位置變化
    對于不規范的html也有很好的支持
"""

print(reVsBeautifulSoup)



相關教程是:
BeautifulSoup和re詳細對比

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/92308.html

標籤:腳本語言(Perl/Python)

上一篇:pygame貪吃蛇游戲圖形重影問題

下一篇:各位大佬,為啥我裝了JUPYTER notebook打不開網頁?需要手動復制去瀏覽器打開?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more