NCrawler爬蟲在應用中一些問題

2021-06-16 04:08:19 字數 738 閱讀 7656

1)html 處理使用的是htmlagilitypack,其中htmlentity.deentitize函式處理文字中的轉義字元後,  " " 字元對映為unicode 160,影響某些文字的分詞處理。目前沒有好解決方案,我的方法是在呼叫函式前把這個串過濾掉,畢竟這個串是在文字中出現最多的。

2)關於深度搜尋時候,新增到佇列中的uri,預設情況是:「不是本站點的子鏈結,都過濾,不處理」,這個處理應該加個bool選項,決定是否呼叫i***ternalurl(uri uri)函式;為了改動小,可以在此函式裡判斷返回結果。

並且,ishostmatch(this uri uribase, uri uri)函式存在邏輯問題。

比如:函式認為不是乙個**,但是有些情況下,還是需要作為同乙個區域進行搜尋的。

臨時解決方法為:

string scheme = uribase.getleftpart(uripartial.scheme);

string hostname = uribase.getleftpart(uripartial.authority).substring(scheme.length);

hostname = hostname.trimstart("www.".tochararray());

int off = uri.host.indexof(hostname, stringcomparison.ordinalignorecase);

return off > -1 ? false : true;

cookie在爬蟲方面的應用 模擬登入

cookies在爬蟲方面最典型的應用是判定註冊使用者是否已經登入 在下一次進入此 時保留使用者資訊,可以簡化登入或其他驗證過程。在模擬登入 時 需要傳送乙個post請求去獲取有登入資訊的cookie 登入頁面跳轉到使用者頁面的時候,抓包此時的cookie是乙個儲存了使用者登入狀態的cookie 需要...

XPath在python爬蟲中的高階應用

xpath在python的爬蟲學習中,起著舉足輕重的地位,對比正規表示式 re兩者可以完成同樣的工作,實現的功能也差不多,但xpath明顯比re具有優勢,在網頁分析上使re退居二線。xpath介紹 是什麼?全稱為xml path language 一種小型的查詢語言 說道xpath是門語言,不得不說...

在oracle中一次執行多條語句

工作中需要一次執行多條語句,本來想直接使用sql拼接成乙個字串進行批處理,原sql如下 string sql for int i 0 i 發現執行不了,經過查詢資料,發現oracle需要加begin end 字段才能執行多條語句。修改後的sql如下 begin string sql for int ...