先说说为什么写这个小demo吧,说起来还真的算不上“项目”,之前有一个朋友面试,别人出了这么一道机试题,需求大概是这样紫滴:
- 1.给定任意京东商品链接,将该商品评论信息拿下,存入csv或者数据库
- 2.要求使用多任务来提高爬虫获取数据的效率
- 3.代码简洁,规范,添加必要注释
- 4.可以使用函数式编程,或者面向对象编程 看到上面四个简单的需求,层次高的童鞋可能就看不下去了,因为太简单了,这里本人的目的是给初学爬虫的工程师们。
让我们进入正题吧:
- step1: 选定任意商品详情url地址
这里我们以:Apple iPhone 7 Plus (A1661) 128G 黑色 移动联通电信4G手机 为例 - step2: 按照如下图操作找到评论的url地址:
![6a85761f128b5f6439bddf419324cbae.png](https://i-blog.csdnimg.cn/blog_migrate/8e56290cccf9a08ce03bbe04dd5b7847.jpeg)
- step3:分析接口数据可知:
![642b019f29ceab6ddd03e5f8d9bfe75f.png](https://i-blog.csdnimg.cn/blog_migrate/68828155eb253facc9459bc70a16e54f.jpeg)
![bb138ab59952c0b835ee389fcfec6635.png](https://i-blog.csdnimg.cn/blog_migrate/a8fb79a4454117b6a050536c26a515a6.jpeg)
- step4: 找到目标url并确定数据后,分析目标url接口:
1、分析请求方式,由下图可以看出请求是一个get请求
![20ec0a9887fd86f7b8930d0cbe3427db.png](https://i-blog.csdnimg.cn/blog_migrate/63bc174ee59344872cfc251b76db7ce7.jpeg)
2、分析url地址规律
注意为了确保找到url地址规律需要多对比不同商品下的评论地址,和同一商品不通分类的url地址
同一商品下不同分页url地址如下 https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv57&productId=3133827&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1
https://sclub.jd.com/comment/productPageComments.action?call