簡體   English   中英

如何有效地確定網頁是否來自網站

[英]How to efficiently determine if webpage comes from a website

我有一些未知的網頁,我想確定他們來自哪些網站。 我有來自每個網站的示例網頁,我假設每個網站都有一個獨特的模板。 我不需要完全確定,也不想使用太多資源匹配每個網頁。 因此,抓取每個網站的網頁是不可能的。

我想最好的方法是比較每個網頁的DOM的樹結構。 有沒有圖書館可以做到這一點?

理想情況下,我是基於Python的解決方案,但如果有一個我能理解和實現的算法,那么我也會對此感興趣。

謝謝

你可以通過貝葉斯分類來做到這一點。 首先從每個站點向分類器中輸入幾頁,然后可以針對它們測試未來頁面以查看它們的匹配程度。

貝葉斯分類器庫在這里: reverend (LGPL)

簡化示例:

# initialisation
from reverend.thomas import Bayes
guesser = Bayes()
guesser.train('site one', site_one_page_one_data)
guesser.train('site one', site_one_page_two_data)
# ...etc...
guesser.train('site two', site_two_page_one_data)
guesser.train('site two', site_two_page_two_data)
# ...etc...
guesser.save()

# run time
guesser.load()
results = guesser.guess(page_I_want_to_classify)

為了獲得更好的結果,請首先標記HTML。 但這可能沒有必要。

您可以嘗試快速而骯臟的方法是在html標記中拆分html源代碼,然后比較生成的字符串集合。 你最終應該收集標簽和內容,比如說:

item[n] ="<p>"
item[n+2] ="This is some content"
item[n+2] ="</p>"

我認為正則表達式可以用於所有語言。

除標簽之外的某些內容將是相同的(菜單等)。 我認為對事件的數字比較應該足夠了。 當您在相同位置具有相同的標記/內容時,可以通過提供有點“點”來改進。 可能是一個相當數量的收藏品的“組合”可以給你確定性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM