簡介
下一代網(wǎng)絡(luò)爬蟲是爬蟲級(jí) AI agents。
由于現(xiàn)代網(wǎng)頁的復(fù)雜性,現(xiàn)代爬蟲都傾向于使用高性能分布式 RPA,完全和真人一樣訪問網(wǎng)頁,采集數(shù)據(jù)。由于 AI 的成熟,RPA 工具也在升級(jí)為 AI agents。因此,網(wǎng)頁爬蟲的發(fā)展趨勢是爬蟲級(jí)智能體(AI agents),或者我喜歡稱為數(shù)字超人。
高性能分布式 RPA
互聯(lián)網(wǎng)數(shù)據(jù)收集現(xiàn)在都使用高性能分布式 RPA。搭載 AI 的 RPA 也是 AI agents。爬蟲級(jí) RPA 可以完全和你本人一樣操作瀏覽器,為你創(chuàng)建一個(gè)智能體軍團(tuán),在網(wǎng)上自由沖浪,完整精確采集數(shù)據(jù)和知識(shí)。
商用級(jí)數(shù)據(jù)收集非常困難,步步維艱,但凡對(duì)數(shù)據(jù)質(zhì)量、調(diào)度質(zhì)量、采集性能、數(shù)據(jù)規(guī)模、綜合成本有一些要求,都面臨著成千上萬個(gè)困難。
幸運(yùn)的是,我們現(xiàn)在有了 AI + RPA 的成熟方案完整解決這些難題。
PulsarRPA?的性能非常高,成本非常低,一臺(tái)普通機(jī)器每天訪問十萬幾十萬網(wǎng)頁,采集數(shù)千萬上億數(shù)據(jù)點(diǎn),毫無壓力。
高性能分布式 RPA 在網(wǎng)頁上執(zhí)行了交互動(dòng)作,保證了所有字段均完整呈現(xiàn)在頁面上,每個(gè)頁面會(huì)有 100~200 個(gè)高價(jià)值字段被提取出來。一臺(tái)機(jī)器一天可以采集1700萬到3400萬個(gè)字段。
下面的視頻,介紹了如何用 PulsarRPA?完整精確采集最復(fù)雜的網(wǎng)站數(shù)據(jù),具備最嚴(yán)格的質(zhì)量保證體系、滿足最嚴(yán)苛的系統(tǒng)性能和總體成本要求。
PulsarRPA - 適用于網(wǎng)絡(luò)爬蟲和 AI agents 的高性能分布式 RPAhttps://blog.csdn.net/weixin_48738961/article/details/135700524?PulsarRPA 是目前應(yīng)用于大規(guī)模數(shù)據(jù)采集,唯一成熟的開源 RPA。
商用級(jí)項(xiàng)目示例
作為 PulsarRPA?的一個(gè)真實(shí)商用項(xiàng)目示例,Exotic Amazon (國內(nèi)鏡像)是采集 amazon 全球網(wǎng)站的完整解決方案,開箱即用,滿足最高標(biāo)準(zhǔn)的數(shù)據(jù)質(zhì)量要求、最高標(biāo)準(zhǔn)的采集性能要求、最高標(biāo)準(zhǔn)的綜合成本要求,包含亞馬遜大多數(shù)數(shù)據(jù)類型,它將永久免費(fèi)提供并開放源代碼。
作為一款爬蟲級(jí) RPA,PulsarRPA?已經(jīng)累計(jì)為各種客戶采集近百億網(wǎng)頁。其中包括了最復(fù)雜的數(shù)據(jù)采集需求,譬如 amazon 全球 20 大站點(diǎn)的完整數(shù)據(jù)點(diǎn),以及 google 全球站點(diǎn)的完整數(shù)據(jù)點(diǎn)。
智能體軍團(tuán)
在如此嚴(yán)苛的需求錘煉之后,PulsarRPA?已經(jīng)非常成熟。目前我們的產(chǎn)品重心是真正意義上的 AI 爬蟲。
AI 爬蟲指的是一組智能體,也就是 AI agents,它能夠像真人一樣網(wǎng)上沖浪,閱讀理解在線網(wǎng)頁,并且可以完全自動(dòng)地分析網(wǎng)頁,輸出結(jié)構(gòu)化數(shù)據(jù)或者知識(shí)圖譜。
Platon.ai 的高性能分布式瀏覽器,可以幫助大語言模型無障礙訪問互聯(lián)網(wǎng),獲得實(shí)時(shí)、干凈的網(wǎng)頁數(shù)據(jù)。
Platon.ai 基于機(jī)器學(xué)習(xí)技術(shù)采集的數(shù)據(jù),可以支持各種各樣的數(shù)據(jù)業(yè)務(wù),譬如電商數(shù)據(jù)分析,大語言模型預(yù)訓(xùn)練、微調(diào)、提示詞工程、檢索增強(qiáng)生成(RAG)等。
無監(jiān)督學(xué)習(xí)數(shù)據(jù)提取
互聯(lián)網(wǎng)數(shù)據(jù)充滿噪音,platon.ai 的技術(shù)幫助我們自動(dòng)將互聯(lián)網(wǎng)網(wǎng)頁轉(zhuǎn)變成干凈的結(jié)構(gòu)化數(shù)據(jù)。
在傳統(tǒng)上,我們需要使用 PulsarRPA,或者 selenium 這樣的瀏覽器自動(dòng)化工具,花費(fèi)大量時(shí)間,編寫X-SQL、CSSPath、XPath、正則表達(dá)式等,來提取網(wǎng)頁數(shù)據(jù),將網(wǎng)頁轉(zhuǎn)變成可以直接分析的結(jié)構(gòu)化數(shù)據(jù)。
使用 platon.ai 的 AI 爬蟲 PulsarRPAPro,可以像真人一樣無障礙網(wǎng)上沖浪,自動(dòng)提取網(wǎng)頁中的所有字段,輸出結(jié)構(gòu)化數(shù)據(jù)。
PulsarRPAPro-AI高速采集并自動(dòng)提取網(wǎng)頁數(shù)據(jù)-CSDN博客https://blog.csdn.net/weixin_48738961/article/details/135701063執(zhí)行 PulsarRPAPro?后,系統(tǒng)將打開入口頁面,和網(wǎng)頁進(jìn)行交互,等待延遲加載的網(wǎng)頁內(nèi)容也完整呈現(xiàn)。
在所有網(wǎng)頁內(nèi)容完整呈現(xiàn)后,PulsarRPAPro?智能地找到了所有商品鏈接,并逐一訪問這些鏈接,瀏覽商品頁面。
在網(wǎng)頁上,凡人眼可見的數(shù)據(jù),幾乎都能夠被完整、精確提取出來,譬如,標(biāo)題、價(jià)格、折扣、優(yōu)惠、配送等等關(guān)鍵字段。
和真人不同的是,PulsarRPAPro?訪問速度非常快,訪問的網(wǎng)頁數(shù)量沒有限制,單機(jī)每天訪問十萬、幾十萬網(wǎng)頁,采集數(shù)千萬、上億數(shù)據(jù)點(diǎn),毫無壓力。
訪問所有網(wǎng)頁后,PulsarRPAPro?直接將網(wǎng)頁上所有的數(shù)據(jù)轉(zhuǎn)變?yōu)楸砀?,并且保存為后續(xù)分析所需的格式。
監(jiān)督學(xué)習(xí)數(shù)據(jù)提取
PulsarRPAPro?使用多種機(jī)器學(xué)習(xí)技術(shù),來將網(wǎng)頁內(nèi)容提取工作人效提升 1000 倍以上,而人員技能要求也幾乎降為零。
如果對(duì)數(shù)據(jù)質(zhì)量有進(jìn)一步要求,PulsarRPA 也開發(fā)了監(jiān)督學(xué)習(xí)技術(shù)來提取網(wǎng)頁,一次訓(xùn)練,永久有效。
PulsarRPAPro-基于監(jiān)督學(xué)習(xí)算法高精度提取網(wǎng)頁數(shù)據(jù)-CSDN博客文章瀏覽閱讀125次,點(diǎn)贊2次,收藏3次。使用無監(jiān)督學(xué)習(xí)+監(jiān)督學(xué)習(xí)進(jìn)行網(wǎng)頁數(shù)據(jù)提取,我們將網(wǎng)頁數(shù)據(jù)提取的人效提升了1000倍以上,提升了數(shù)據(jù)提取準(zhǔn)確率,降低了人員技能要求,同時(shí)也不再需要頻繁維護(hù)數(shù)據(jù)提取規(guī)則。https://blog.csdn.net/weixin_48738961/article/details/135702207由于我們能夠無監(jiān)督學(xué)習(xí)將網(wǎng)頁轉(zhuǎn)變成表格,我們只需要在這個(gè)表格上處理,簡單剔除錯(cuò)誤數(shù)據(jù),并給每一列字段一個(gè)名字,這就形成了可以用于訓(xùn)練監(jiān)督學(xué)習(xí)模型的大數(shù)據(jù)集。這個(gè)過程不需要任何專業(yè)知識(shí),初中知識(shí)儲(chǔ)備就可以勝任。
使用監(jiān)督學(xué)習(xí)技術(shù),絕大多數(shù)字段,準(zhǔn)確率和召回率均超過99%。
未來演化
在下一步,PulsarRPA 將引入大語言模型,提供自然語言交互界面,優(yōu)化從數(shù)據(jù)采集、UI 操作、自主決策、數(shù)據(jù)標(biāo)注、數(shù)據(jù)導(dǎo)出等各個(gè)環(huán)節(jié)的用戶體驗(yàn),并提供一定自主決策能力。
代碼示例
大多數(shù)抓取嘗試可以從幾乎一行代碼開始
fun main() = PulsarContexts.createSession().scrapeOutPages( "https://www.amazon.com/", "-outLink a[href~=/dp/]", listOf("#title", "#acrCustomerReviewText"))
上面的代碼從一組產(chǎn)品頁面中抓取由 css 選擇器 #title 和 #acrCustomerReviewText 指定的字段。 示例代碼可以在這里找到:kotlin,java,國內(nèi)鏡像:kotlin,java。
大多數(shù)生產(chǎn)環(huán)境數(shù)據(jù)采集項(xiàng)目可以從以下代碼片段開始
fun main() {
val context = PulsarContexts.create()
val parseHandler = { _: WebPage, document: Document ->
// use the document
// ...
// and then extract further hyperlinks
context.submitAll(document.selectHyperlinks("a[href~=/dp/]"))
}
val urls = LinkExtractors.fromResource("seeds10.txt")
.map { ParsableHyperlink("$it -refresh", parseHandler) }
context.submitAll(urls).await()
}
示例代碼:kotlin,java,國內(nèi)鏡像:kotlin,java。
最復(fù)雜的數(shù)據(jù)采集項(xiàng)目可以使用 RPA 模式
最復(fù)雜的數(shù)據(jù)采集項(xiàng)目往往需要和網(wǎng)頁進(jìn)行復(fù)雜交互,為此我們提供了簡潔強(qiáng)大的 API。以下是一個(gè)典型的 RPA 代碼片段,它是從頂級(jí)電子商務(wù)網(wǎng)站收集數(shù)據(jù)所必需的:
val options = session.options(args)
val event = options.event.browseEvent
event.onBrowserLaunched.addLast { page, driver ->
// warp up the browser to avoid being blocked by the website,
// or choose the global settings, such as your location.
warnUpBrowser(page, driver)
}
event.onWillFetch.addLast { page, driver ->
// have to visit a referrer page before we can visit the desired page
waitForReferrer(page, driver)
// websites may prevent us from opening too many pages at a time, so we should open links one by one.
waitForPreviousPage(page, driver)
}
event.onWillCheckDocumentState.addLast { page, driver ->
// wait for a special fields to appear on the page
driver.waitForSelector("body h1[itemprop=name]")
// close the mask layer, it might be promotions, ads, or something else.
driver.click(".mask-layer-close-button")
}
// visit the URL and trigger events
session.load(url, options)
示例代碼: kotlin,國內(nèi)鏡像。
Web 數(shù)據(jù)抽取難題可以使用機(jī)器學(xué)習(xí)來解決
使用無監(jiān)督學(xué)習(xí)+監(jiān)督學(xué)習(xí)進(jìn)行網(wǎng)頁數(shù)據(jù)提取,我們將網(wǎng)頁數(shù)據(jù)提取的人效提升了1000倍以上,提升了數(shù)據(jù)提取準(zhǔn)確率,降低了人員技能要求,同時(shí)也不再需要頻繁維護(hù)數(shù)據(jù)提取規(guī)則。
Web 數(shù)據(jù)抽取難題也可以用 X-SQL 來解決
除了使用機(jī)器學(xué)習(xí)手段提取人眼可見數(shù)據(jù)外,一些人眼不可見數(shù)據(jù)、頁面源代碼中的數(shù)據(jù)、其他流經(jīng)瀏覽器的數(shù)據(jù),也可以使用 X-SQL 來提取。
現(xiàn)在,我們?cè)诖笮蛿?shù)據(jù)采集項(xiàng)目中,所有提取規(guī)則都是用 X-SQL 編寫的,數(shù)據(jù)類型轉(zhuǎn)換、數(shù)據(jù)清理等工作也由強(qiáng)大的 X-SQL 內(nèi)聯(lián)處理。編寫 X-SQL 做數(shù)據(jù)采集項(xiàng)目的體驗(yàn),就像傳統(tǒng)的 CRUD 項(xiàng)目一樣簡單高效。一個(gè)很好的例子是 x-asin.sql(國內(nèi)鏡像),它從每個(gè)產(chǎn)品頁面中提取 70 多個(gè)字段。
select
dom_first_text(dom, '#productTitle') as title,
dom_first_text(dom, '#bylineInfo') as brand,
dom_first_text(dom, '#price tr td:matches(^Price) ~ td, #corePrice_desktop tr td:matches(^Price) ~ td') as price,
dom_first_text(dom, '#acrCustomerReviewText') as ratings,
str_first_float(dom_first_text(dom, '#reviewsMedley .AverageCustomerReviews span:contains(out of)'), 0.0) as score
from load_and_select('https://www.amazon.com/dp/B09V3KXJPB -i 1s -njr 3', 'body');
示例代碼: Exotic Amazon’s X-SQLs.文章來源:http://www.zghlxwxcb.cn/news/detail-814369.html
如需了解更多,可以看項(xiàng)目主頁,國內(nèi)鏡像 或者 專欄文章 或者在線教程。文章來源地址http://www.zghlxwxcb.cn/news/detail-814369.html
到了這里,關(guān)于下一代網(wǎng)絡(luò)爬蟲:AI agents的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!