這次採集正好趕上我的畢業,所以,晚了三天才看到郵箱裡面的任務,這次處理很順利。
但是,也是自以為很順利,結果還是經歷了一些困難。
現在就列一下所遇到的問題
目錄
1.requestdetail函式和processarticle函式的作用
2.處理文章**現的img和video標籤
3.注意
requestdetail函式,是通過取article裡的articleurl然後傳送請求,返回未處理的文字(原始文字)
processarticle函式則是對requestdetail函式返回的未處理的文字進行處理
text可能不規範,裡面可能會有沒有處理的html標籤
publishtime可能不規範,需要精確到毫秒級
article.settext 也是在這裡實現
此塊功能放在processarticle當中,處理文字。通過對文字進行正則匹配,然後替換,達到處理的目的。
從正文裡重新提取img鏈結
public listgetelementlisttextagainstxpath(string strdoc, string strxpath)
}} catch (saxexception | ioexception | transformerexception e)
return listrtn;
}
處理img標籤
public string removetagotherattr(string reg, string strdoc, string tagname) else }}
return strdoc;
}
img標籤的正規表示式為:
string regimg = "";
video標籤的正規表示式為:
string re**ideo = "";
提取出的img的list,用article.setimageurls(list)設定下
示例:
string ret;
string url = article.getarticleurl();
ret = article.gettext();
ret = htmlutils.gettagformattedtext(ret, url);
string regimg = "";
string tagname = "img";
ret = removetagotherattr(regimg, ret, tagname);
string xpath = "//img/@src";
string re**ideo = "";
string tagname1 = "video";
ret = removetagotherattr(re**ideo, ret, tagname1);
listimgurls = new arraylist<>();
imgurls = getelementlisttextagainstxpath(ret, xpath);
article.setimageurls(imgurls);
article.settext(ret);
先提取替換,再設定article.setimageurls
需要注意一點,
imgurls = getelementlisttextagainstxpath(ret, xpath);
在xpath中,盡量不要使用數字進行文字定位,風險太高
爬蟲心得(九)
這次是遇到了post爬蟲問題 所以,這次需要解決post的相關問題 1.post和get的區別 a.post請求的引數是不會留在瀏覽器中的,所以post請求比get請求要更加地安全 b.post的引數是不會在url中體現出來的,所以更加安全 c.另乙個區別可能就是post請求的長度沒有限制的,get...
爬蟲新手心得
這兩天開始了解和學習爬蟲,在學習過程中,有以下幾個細節需要記錄 urllib這個模組的使用。在python2中,urllib分為urllib和urllib2兩個版本,我們在轉碼過程中,使用的是urllib這個,其語法為 kw urllib.urlencode 注意,urllib所接收的物件應該是字典...
趕工心得 四
統一命名後也有很多問題,比如不能相應路徑的變化,還是樣式表好用,隱藏細節啊呵呵,多麼優秀的軟體設計思想.和諧與統一往往是焦不理孟.統一有乙個很大好處,關鍵點一更改,全域性都發生變化.同時這也是他的乙個壞處,有些時候,也許會在不知道的地方發生了不想它發生的變化.所以什麼都統一也是不應該做的事情.專案到...