爬蟲心得(四)

2021-09-25 00:25:20 字數 1776 閱讀 9017

這次採集正好趕上我的畢業,所以,晚了三天才看到郵箱裡面的任務,這次處理很順利。

但是,也是自以為很順利,結果還是經歷了一些困難。

現在就列一下所遇到的問題

目錄

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所接收的物件應該是字典...

趕工心得 四

統一命名後也有很多問題,比如不能相應路徑的變化,還是樣式表好用,隱藏細節啊呵呵,多麼優秀的軟體設計思想.和諧與統一往往是焦不理孟.統一有乙個很大好處,關鍵點一更改,全域性都發生變化.同時這也是他的乙個壞處,有些時候,也許會在不知道的地方發生了不想它發生的變化.所以什麼都統一也是不應該做的事情.專案到...