我在一个非常业余的设置中使用crawler4j来抓取来自网站的文章(以及用于内容抓取的样板(。在某些站点中,爬虫工作非常整齐。但在其他情况下,它只是无法获取网站(尽管我仍然可以使用 jsoup 获取数据(。
碰巧的是,从同一站点获取某些页面,而其他页面则没有。它给出此警告,然后完全跳过页面:
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,我无法以任何方式更改它(。
有没有其他方法可以在不使用crawler4j的情况下管理httpclient?
有没有办法更改爬虫4j中的cookie选项?
PageFetcher.java in crawler4j 中创建 httpclient 并处理所有 cookie 选项。
或者我应该使用另一个可以为在其 cookie 中使用错误格式的网站定制的爬虫?
任何帮助将不胜感激。
HTTPClient 是从 crawler4j 源代码内部处理的,因此在使用此库时无法更改或操作有关 httpclient 的任何配置(包括 cookie 规范(。