從頭學習爬蟲(三十五)重構篇—-WebMagic的坑

從頭學習爬蟲(三十五)重構篇—-WebMagic的坑

本文介紹WebMagic的一些用法以及用法。

一 ssl問題

老版本沒有加支援協議github可能會遇到以下問題,更新最新版本或者使用以下解決方案

繞過ssl時,沒有支援版本(maven 0.7.3還是老的 還是有錯的 建議去github clone)

 javax.net.ssl.SSLException: Received fatal alert: protocol_version 

問題解決參考

https://www.cnblogs.com/sunny08/p/8038440.html

解決方案:

重寫HttpClientGenerator類

buildSSLConnectionSocketFactory方法

新增SSLv2Hello和TLSv1.2協議

二 post請求問題預設是不去重

邏輯記得不要重複否則一直會新增post請求

三 post請求缺少引數型別

我看了下底層就缺第三種

沒辦法包裝下咯

request 包裝下stringEntity

HttpUriRequestConverter類

addFormParams方法

加入stringEntity

四 site引數設定

不要亂加refer 

內容addheader不要gzip

正確是用 .setUseGzip(true)

site放通用header 比如UA cookie 

其他接受內容形式 傳送形式 寫在request裡面

五 xpath

不支援.xpath(“//a[contains(text(),’5′)])

   支援.xpath(“//a[contains(@data,’5′)])

六 Scheduler記憶體溢位

實際可能存在的細節問題預設Scheduler,底層佇列沒問題(沒有滿的情況下),去重是用hashset。

如果一次爬取量過多會出現記憶體溢位