2016-02-11 51 views
1

我在非常業餘的設置中使用crawler4j從網站抓取文章(以及用於內容抓取的boilerpipe)。在一些網站中,爬蟲工作非常整潔。但在其他情況下,它只是無法訪問網站(儘管我仍然可以使用jsoup獲取數據)。Crawler4j警告「無效的cookie標頭」導致抓取工具無法抓取該頁面

恰巧從同一個網站,某個網頁正在被抓取,而其他網頁卻沒有。它給這個警告,然後完全跳過該頁面:

Feb 11, 2016 5:05:31 PM org.apache.http.client.protocol.ResponseProcessCookies processCookies 
WARNING: Invalid cookie header: "Set-Cookie: visid_incap_688991=7KCcJ/TxTWSEzP9k6OFX2eZqvFYAAAAAQUIPAAAAAAAHVw5Tx4mHCf3VQHK63tAN; expires=Fri, 09 Feb 2018 15:00:14 GMT; path=/; Domain=.banglatribune.com". Invalid 'expires' attribute: Fri, 09 Feb 2018 15:00:14 GMT 

我可以從這個理解警告crawler4j正在做有關的cookie(它使用CookieSpecs.DEFAULT,我不能在任何改變它的東西辦法)。

是否有任何其他方式來管理httpclient而無需使用crawler4j one?

有什麼方法可以更改crawler4j中的cookie選項嗎?

crawler4j中的PageFetcher.java創建httpclient並處理所有cookie選項。

或者我應該使用另一個可以針對在cookie中使用錯誤格式的網站進行定製的抓取工具嗎?

任何幫助將非常感激。

+0

我正在努力認證/ cookies和crawler4j我自己... 據我所知,它不是設計來管理你自己的HTTP客戶端。您可以克隆repo並重寫PageFetcher,然後向crawler4j的開發團隊建議更改。 不幸的是,我也不知道任何(對我來說)有用的替代方案。也許它們對你很有用:nutch或scrapy(python)。如果您發現其他人請留下評論 – divadpoc

+0

我目前使用的是webmagic crawler,它沒有一些基本配置(比如抓取深度,抓取的最大頁數),但是很容易放入你想要的特徵,因爲它是設計非常好。 – d1xlord

+0

只是關於webmagic的提示,完整的用戶指南是用中文書寫的。你總是可以使用谷歌翻譯,但對我來說,這足以理解底層的概念。 – d1xlord

回答

0

了HTTPClientcrawler4j源內被處理,所以沒有辦法改變或操縱任何關於配置中HttpClient的使用這個庫時(其包括cookie規範)。