目前项目里用的都是 sql where 条件拼接的,爬虫一来很容易挂了,有什么解决方案么。直接 cache key 会比较多
1
gouchaoer 2017 年 5 月 4 日 via Android
商品分类以及排序推荐那是非常困难的任务,没团队很难搞定的
|
2
undeflife 2017 年 5 月 4 日
这种筛选是给人用的 而你需要爬虫抓取的是最终的产品页 给爬虫一个单独的入口 暂时可以缓解你这个爬虫一来就挂的情形
|
3
wudanyang 2017 年 5 月 4 日
solr
|
6
pierre1994 2017 年 5 月 5 日
es 做不了吧
|
7
jarlyyn 2017 年 5 月 5 日
爬虫挂了,不是应该先缓存 /限制访问频率么?
key 多也不需要你收官算吧? |
8
terranboy 2017 年 5 月 5 日
把数据扁平化 ES 其实也是这个意思
|
9
ihuotui 2017 年 5 月 5 日 via iPhone
静态化 freemaker ftl
|
10
byfar 2017 年 5 月 5 日 爬虫一来很容易挂了,你确定问题出在数据库上?数据库单独放一实例上或使用云服务?
Elasticsearch 不用的话,可以考虑一下 sphinx ( http://sphinxsearch.com/ ) 当然还是要先定位问题,找到需求点再改造。 |
12
byfar 2017 年 5 月 5 日 @yanzixuan sphinx 支持动态索引 ( http://sphinxsearch.com/docs/current.html#rt-indexes )
另外静态也可以改造成近时时的,看需求选择。 Elasticsearch 没有试过,不敢评论,不过我知道很火。 |
13
walkershow 2017 年 5 月 5 日
我们网站都用 sphinx,快,省内存
|
14
jianzhiyao 2017 年 5 月 5 日
if($http_user_agent ~* "spider")
|
15
hiboshi OP @jianzhiyao 这样不能防止恶意爬虫
|
16
undeflife 2017 年 5 月 5 日
@hiboshi 恶意爬虫就 ban 掉, 设置请求频率 用运维手段是可以处理的
你现在碰到的问题跟实现方式(拼接查询条件)并没有太大关系,爬虫一来就挂,是为什么挂? 数据库连接数太小还是查询效率太低? 如果不能找出问题真正的原因,换一种解决方案可能还是挂. |
17
hiboshi OP @undeflife 都存在,目前一部分 是想完善这部分代码段,我们的商品比较多 几十万种,爬虫部分也在封 IP 至于限制频率目前在研究 apache 的相关模块。
|
20
sunchen 2017 年 5 月 5 日
属性全部扁平化,类似 tag,至于动态排序那就只能硬抗了
|