老大让去爬一个电商平台的数据,经过分析完后发现商品的信息主要在两个页面里,一个是列表页(包含商品的封面图还有列表页标题什么的) 另一个是商品详情页(商品基本信息).我用的是 java 的 Gecco 框架,两个页面就意味着我需要发两次请求,首先请求列表页然后获取列表页内所有商品的详情页 url,再循环的去请求每个详情页.后面问题来了: 两个请求对应两个不同的处理方法,而且这两个处理方法不存在调用关系(因为是通过 url 请求触发的),所有同一个商品的两份信息在不同的地方,我要如何将他们合并到一起呢?
现在想到的方法是直接入库或者放缓存里,分两次存,第一次存完之后返回一个 key 或者 id ,第二次拿着这个 key 或者 id 去 update 操作,但是这个 id 或者 key 第二个方法要如何获取呢?
最后说下我现在的处理方法,我是通过 poi 吧数据放 excel 里了,但是第二次存的时候有时候会丢失数据,然后因为没有 key 啥的,我就直接判断上一行是否为空为空就在往上,知道上一个不为空才停止,然后在当前位置开始插入.这个方法的缺点是数据丢失的时候会错行(我做了非空校验但是没办法,多线程和单线程都会这样)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.