从头学习爬虫(三十五)重构篇----WebMagic的坑

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

一 ssl问题

老版本没有加支持协议github可能会遇到以下问题,更新最新版本或者使用以下解决方案

绕过ssl时,没有支持版本(maven 0.7.3还是老的 还是有错的 建议去github clone)

2020.04.27最新版支持了

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

问题解决参考

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

解决方案:

重写HttpClientGenerator类

buildSSLConnectionSocketFactory方法

添加SSLv2Hello和TLSv1.2协议

还有可能遇到 加解密有一定的限制,替换这两个jar包

还可能

二 post请求问题默认是不去重

逻辑记得不要重复否则一直会添加post请求

 

三 post请求缺少参数类型

我看了下底层就缺第三种

没办法包装下咯

request 包装下stringEntity

 

HttpUriRequestConverter类

addFormParams方法

加入stringEntity

(0.7.3版本已经支持基本类型)

通过Request

根据不同content-type去设置post参数,找对应方法即可

四 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。

如果一次爬取量过多会出现内存溢出

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值