麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

C#讀取RSS源,并利用Solr索引

2019-11-17 01:53:46
字體:
來源:轉載
供稿:網友

C#讀取rss源,并利用Solr索引

  折磨我幾天的問題今天終于解決了,分享一下近期solr使用的一些經驗。

本來是用nutch在爬取頁面,可是客戶需要爬取RSS,而且可以識別那些頁面是通過RSS源抓取出來的。nutch雖然自帶解析RSS的插件,但是有些RSS解析不了,也不好控制,更重要的抓取后和普通頁面就沒什么太大的區別了,不能識別不能判斷是由哪個rss源抓取出來的。因為上面原因,所以就自己用C#寫了一個配合Solr抓取RSS的工程。

一切實現好后,客戶非常滿意,我也覺得做的還不錯,可是過了一段時間后發現nutch在solrdedup時失敗了,導致nutch不能使用。下面就把rss實現的原理,和問題的產生進行介紹,解決solr和nutch這些問題不是因為非常難理解,主要是這類問題在網上很難找到。由于公司沒有外網和拷貝權限,所有的一切只能憑我的記憶寫出來了。

 RSS+Solr的實現是利用webrequest讀取到rss源的xml格式的內容,直接里面post方式為solr建立索引。為了達到客戶的要求,我在solr的schame里面添加了rss和isrss字段,rss為rss源的url地址,isrss固定為ture。由于nutch沒有這2個字段,所以我們查詢rss只需 輸入 isrss:"true"就可以過濾掉不是rss出來的頁面。

實現過程中主要要注意下面幾點

1.rss源并不是后綴為xml的文件,有些就是普通頁面response出來的,而且有些是需要登錄權限的

2.rss目前主要有2種格式,普遍的xml結構為rss/channel/item ,另外一種就是我們博客園rss的結構feed/entry。

里面的標簽是固定的,可以通過不同的標簽找到solr里面filed需要的值

3.id,digest,tstamp三個欄位是必須要的。

上面提到nutch 運行到solrdedup時就報錯,開始我以為是solr里面新加的2個字段,嘗試為nutch也新增2個字段,而且還利用nutch的靜態欄位插件和額外欄位插件,但是沒有用,最后我發現把solr的數據清除后居然nutch可以正常運行,我在google里面也查了很多,但是基本沒什么幫助,還以為是solr cache的原因。今天剛好有點空,所以我找到了nutch的報錯文件solrdeleteduplicates.java,研究發現里面nutch去除重復是從solr直接取了id,digest,tstamp字段,沒有判斷是否為空就直接使用了。

但是我寫的程序里面digest和tsamp是沒有添加的,果然添加完這2個欄位,把所有沒有這2個欄位的數據全部補完整,nutch又可以正常運行了

4.digest是網頁的32位哈希值,用來nutch去除重復時進行比較差異

5.solr是可以直接通過請求url對內容進行新增,修改,刪除,其中修改的格式與新增一樣

 主要核心為:xx.xx.xx.xx/solr/update?stream.body=<add><doc><field name="xx">xx</filed></doc><add>&stream.contentType=text/xm;charset=utf-8&commit=true

如果內容有ur格式和html格式需要對其進行轉碼

6,solr的時間是GMT格式的時間,所以不要弄錯,而且rss里面的GMT格式有些是不對的,我就遇到了很多,星期不對都會引起solr index失敗。

現在信息都還是比較齊全,搜索還是比較方便的,但是還是有很多問題需要解決,主要是js生成頁面不能讀取,還有頁面上信息的過濾。獲取文章的主要內容,過濾導航等其他信息還是比較難的,目前我查到的別人是根據統計規律在進行過濾,比如導航條中間很多是用|分開的,內容里面的空格間隔等。每個站點的html布局風格不一樣,標簽這些很難統一,百度,谷歌也不知道是怎么實現的,或者它們其實也沒有實現。

nutch還是比較強大的,但是總覺得不好維護和修改,上次編譯一下源代碼都費了很長時間,solr的查詢也是比較高效的。 可能計劃寫一個.net版本的爬蟲和搜索,但是只是在計劃中,因為涉及到的問題太多了...


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品一区二区久久久久久久网精 | 欧美亚洲一级 | av电影在线免费观看 | 在线观看va| 日韩精品免费看 | 91av网址| 国产亚洲欧美日韩高清 | chinese乱子伦xxxx国语对白 | 看国产毛片 | arabxxxxvideos | 久久草草亚洲蜜桃臀 | 成人在线精品视频 | 特黄一区二区三区 | 国产欧美日韩在线不卡第一页 | 久久精品成人免费国产片桃视频 | 国产精品啪一品二区三区粉嫩 | 色七七网站 | 欧美精品日日鲁夜夜添 | www.三区 | 青青操精品 | 草免费视频 | lutube成人福利在线观看 | 亚洲va久久久噜噜噜久牛牛影视 | 欧美大屁股精品毛片视频 | 国产高潮国产高潮久久久91 | 成人午夜免费看 | 九色一区二区 | 午夜爱爱福利 | 欧美毛片 | 国产精品视频在线观看免费 | 黄色免费入口 | 久久99精品久久久久久236 | 毛片国产| 中文字幕在线网站 | 精品一区二区亚洲 | 91麻豆精品国产91久久久无需广告 | 久久久国产精品免费观看 | 国产一区影院 | 亚洲精品av在线 | 免费a视频 | 精品三区视频 |