自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一日一技:圖文結(jié)合,大模型自動抓取列表頁

人工智能
CogView-3-Plus能夠提供更加精細(xì)的文生圖能力。如果我們使用GLM-4V-Plus抓取網(wǎng)頁,使用GLM-4-Plus分析網(wǎng)頁的內(nèi)容并生成文案,最后使用CogView-3-Plus生成配圖,然后自動發(fā)小紅書或者公眾號,形成閉環(huán)。

熟悉我的同學(xué)都知道,GNE可以自動化提取任意文章頁面的正文,專業(yè)版GnePro的準(zhǔn)確率更是在13萬個網(wǎng)站中達(dá)到了90%。

但GNE一直不支持列表頁的自動抓取。這是因?yàn)榱斜眄摰牧斜砦恢煤茈y定義。例如下面這張圖片:

圖片圖片

對人來說,要找到文章列表很簡單,紅色方框框住的部分就是我們需要的文章列表。但如果讓程序自動根據(jù)HTML格式相似的規(guī)律來尋找列表頁,它可能會提取出藍(lán)色方框的位置、綠色方框的位置、灰色方框的位置,甚至導(dǎo)航欄。

之前我也試過使用ChatGPT來提取文章列表,但效果并不理想。因?yàn)閭鹘o大模型HTML以后,他也不能知道這里面某個元素在瀏覽器打開以后,會出現(xiàn)什么位置。因此它本質(zhì)上還是通過HTML找元素相似的規(guī)律來提取列表項(xiàng)目。那么其實(shí)沒有解決我的根本問題,上圖中的藍(lán)色、綠色、灰色位置還是經(jīng)常會提取到。

前兩天使用GLM-4V識別驗(yàn)證碼以后,我對智譜的大模型在爬蟲領(lǐng)域的應(yīng)用充滿了期待。正好這兩天智譜上線了視頻/圖片理解的旗艦?zāi)P虶LM-4V-Plus。于是我突然有了一個大膽的想法,能不能結(jié)合圖片識別加上HTML,讓大模型找到真正的文章列表位置呢?

說干就干,我這次使用少數(shù)派的Matrix精選頁面來進(jìn)行測試。如下圖所示:

圖片圖片

需要注意的是,這個頁面是異步加載的頁面,因此通過在開發(fā)者工具中右鍵來獲取包含列表頁的源代碼,如下圖所示:

圖片圖片

接下來,為了節(jié)省Token省錢,我首先對這個HTML進(jìn)行清洗,移除一些顯然不需要的HTML元素:

from lxml.html import fromstring, HtmlElement
from lxml.html import etree

def remove_node(node: HtmlElement):
    """
    this is a in-place operation, not necessary to return
    :param node:
    :return:
    """
    parent = node.getparent()
    if parent is not None:
        parent.remove(node)

with open('/Users/kingname/Downloads/sspai.html') as f:
    html = f.read()
selector = fromstring(html)

USELESS_TAG = ['style', 'script', 'link', 'video', 'iframe', 'source', 'picture', 'header', 'blockquote',
               'footer', 'svg']
for tag in USELESS_TAG:
    eles = selector.xpath(f'//{tag}')
    for ele in eles:
        remove_node(ele)


html_clean = etree.tostring(selector, pretty_print=True, encoding='unicode')
print(html_clean)

代碼如下圖所示:

圖片圖片

其實(shí)有很多頁面,在源代碼里面會有一個<script>標(biāo)簽,它有一個type屬性,值是application/ld+json。它的text是一個大JSON,包含了頁面上的所有有用信息。只需要提取這個JSON并解析就能拿到需要的全部信息。不過這個情況不在今天的討論范圍,因此我們也把<script>一并刪去。

接下來,對少數(shù)派這個列表頁做一下截圖,調(diào)用GLM-4V-Plus模型時,同時上傳截圖和源代碼。如下圖所示:

圖片圖片

在system里面,我定義了一個函數(shù),并通過注釋說明這個函數(shù)需要實(shí)現(xiàn)什么功能。讓GLM-4V-Plus首先理解圖片,然后分析HTMl,并補(bǔ)全我的Python代碼。

最后運(yùn)行生成的代碼如下圖所示:

圖片

我把這段代碼復(fù)制出來執(zhí)行,發(fā)現(xiàn)可以正確解析出列表頁中每篇文章的標(biāo)題和URL,如下圖所示:

圖片圖片

它自動生成的XPath,到少數(shù)派頁面上手動驗(yàn)證,發(fā)現(xiàn)確實(shí)能夠正確找到每一篇文章:

圖片圖片

看起來,GLM-4V-Plus模型確實(shí)天然適合做爬蟲:既能識別驗(yàn)證碼,又可以識別網(wǎng)頁生成XPath提取數(shù)據(jù)。如果我再把DrissionPage用上,解決反爬蟲問題,最后通過模型的Tool Call機(jī)制來控制DP操作頁面,那就是全自動爬蟲了。后面就有無限的想象力了。

如果大家對GLM-4V-Plus+DrissionPage結(jié)合的全自動爬蟲有興趣,請?jiān)诒疚南旅媪粞?。我們下一篇文章,就來?shí)現(xiàn)這個真正意義上的,自己動,自己抓,自己解析的,擁有自己大腦的全自動爬蟲。

除了GLM-4V-Plus 外,這一次的旗艦?zāi)P瓦€有GLM-4-Plus和CogView-3-Plus模型。

GLM-4-Plus無論是解決復(fù)雜的數(shù)學(xué)問題、解析深奧的代碼算法,還是理解并解答各類邏輯推理題都有了極大的提升。使得模型能夠更好地反映人類的思維方式和偏好。

CogView-3-Plus能夠提供更加精細(xì)的文生圖能力。如果我們使用GLM-4V-Plus抓取網(wǎng)頁,使用GLM-4-Plus分析網(wǎng)頁的內(nèi)容并生成文案,最后使用CogView-3-Plus生成配圖,然后自動發(fā)小紅書或者公眾號,形成閉環(huán)。

責(zé)任編輯:武曉燕 來源: 未聞Code
相關(guān)推薦

2024-10-16 21:47:15

2024-08-27 22:08:13

2024-11-11 00:38:13

Mypy靜態(tài)類型

2021-04-27 22:15:02

Selenium瀏覽器爬蟲

2021-10-15 21:08:31

PandasExcel對象

2021-04-12 21:19:01

PythonMakefile項(xiàng)目

2023-10-28 12:14:35

爬蟲JavaScriptObject

2021-03-12 21:19:15

Python鏈?zhǔn)?/a>調(diào)用

2022-03-12 20:38:14

網(wǎng)頁Python測試

2021-04-19 23:29:44

MakefilemacOSLinux

2024-07-30 08:11:16

2021-04-05 14:47:55

Python多線程事件監(jiān)控

2024-11-13 09:18:09

2022-06-28 09:31:44

LinuxmacOS系統(tǒng)

2021-09-13 20:38:47

Python鏈?zhǔn)?/a>調(diào)用

2024-07-30 08:16:18

Python代碼工具

2021-07-27 21:32:57

Python 延遲調(diào)用

2021-10-03 20:08:29

HTTP2Scrapy

2024-05-24 09:07:06

JSONprint字符串

2021-05-08 19:33:51

移除字符零寬
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號