更多>>关于我们

西安鲲之鹏网络信息技术有限公司从2010年开始专注于Web(网站)数据抓取领域。致力于为广大中国客户提供准确、快捷的数据采集相关服务。我们采用分布式系统架构,日采集网页数千万。我们拥有海量稳定高匿HTTP代理IP地址池,可以有效获取互联网任何公开可见信息。

您只需告诉我们您想抓取的网站是什么,您感兴趣的字段有哪些,你需要的数据是哪种格式,我们将为您做所有的工作,最后把数据(或程序)交付给你。

数据的格式可以是CSV、JSON、XML、ACCESS、SQLITE、MSSQL、MYSQL等等。

更多>>官方微博

西安鲲之鹏
陕西 西安

加关注

  • 【逆向分析】CMCC“和助手”APP(2.9)HTTP加密方式分析
    1. 直接抓包会发现“和助手”的请求和应答数据都是加密的。如附图1所示。
    下面来分析下加解密算法,最终目的是实现直接和服务端进行HTTP交互。

    2.APP运行后会释放gatewayClient-2-9目录,里面是HTML和JS文件。通过JS里的关键词得知,“和助手”采用的WADE-MOBILE框架。奇怪的是关于WADE-MOBILE网上的介绍很少,只找到这篇有用的介绍http://www.docin.com/p-2187443660.html,大体了解到这个框架使得安卓APP能够使用HTML+JS实现前端展示,通过JS代码调用安卓API实现业务功能(比如与服务端交互)。

    3. 从common.js中的callSvc(),追踪到mobile-client.js中的Mobile.dataRequest(),继续追踪到wade-mobile.js中的WadeMobile.dataRequest(),继续追踪到 androidExecute(),最后追踪到mobile-core.js中的PluginManager.exec()。JS里通过PluginManager.exec()来实现调用安卓Java代码里的功能。如附图2所示。

    4. 通过PluginManager.exec()调用的函数名,在Java代码中可以寻找到具体的实现。例如"dataRequest",应该是实现后台交互的。在Java代码中找到dataRequest()的实现如附图3所示。

    通过进一步跟踪,在transPostData()中可以看到HTTP参数的封装过程,如附图4所示。
    这里的key是DES的秘钥,发给服务端用于解密客户端数据。data是要发送的数据部分,也被使用MobileSecurity.requestEncrypt()加密了。

    需要注意的是这个key本身也是经过加密的,查看MobileSecurity.getDesKey()代码如附图5所示,这里key的值是经过RSA加密的(公钥位于res\raw\public_key)。另外,这里的key并不是固定的,是在每次MobileSecurity类初始化的时候随机生成的,如附图6所示。
    另外,DESKeySpec(k)时,如果k的长度如果超过8字节,将只取前8字节。

    应答数据的解密是通过MobileSecurity.responseDecrypt()实现的,附图7和8所示。

    梳理一下“和助手”的加解密流程:
    (1)APP每次会生成一个随机的key用于DES加解密。
    (2)HTTP请求时会把key作为一个参数(使用RSA加密后)传递给服务端,同时将其它数据通过DES加密后放到data参数中。
    (3)服务端接收到数据后,先用RSA私钥解密出key的明文,然后根据key再DES解密出data明文。
    (4)服务端将HTTP应答数据也使用该key进行DES加密后回送。
    (5)客户端收到HTTP应答数据后使用该key进行DES解密。

    如附图9所示,是我们对服务端应答数据解密后的一个示例(中文部分显示为乱码)。
    发布时间:2020-10-21 15:07:39
  • 【疑问】Intel的CPU比AMD的CPU对安卓模拟器的支持更好?同一个版本的安卓模拟器、同一个APP、同样的HOOK代码,在Intel下稳定运行,但在客户的AMD下出现各种各样的问题(应用闪退、应用崩溃、桌面卡死)。然后让客户换了一个Intel的环境试了下,没任何问题。 ​​​​
    发布时间:2020-10-20 17:24:47
  • 【经验分享】如何查询一个代理(IP)是机房IP(Datacenter IP)还是家庭IP(Residential IP)?

    这里推荐一个查询网站:IPHub,网址是http://t.cn/A6bOvWpt
    输入待查询的IP,点击“Lookup”按钮。
    1. 如果查询结果Type字段中含有“Residential”字样,则说明是家用IP。如附图1、2所示。
    2.如果查询结果Type中仅含有“Hosting”字样,而无“Residential”字样,则说明是机房IP。如附图3所示。

    顺便说一下,如果你的业务需要使用家庭IP(使用机房IP会被风控),例如做亚马逊测评。可以戳这里购买 >>> http://t.cn/A6bOvWpq
    发布时间:2020-10-16 19:57:48
  • 【经验分享】周边POI数据采集的时候常常会因为搜索中心点选取不足导致最终数据缺失的问题,在这里我们提出了一种利用arcpy实现的对待采集区域网格化,并导出区域内网格中心点坐标的的思路,通过这种方式可以保证对待采集区域的完整覆盖。 查看详情戳这里 >>>  http://t.cn/A6ba1Kr8 ​​​​
    发布时间:2020-10-12 16:12:06
  • 【经验分享】导入arcpy出现 "DLL load failed: %1 不是有效的 Win32 应用程序"问题的解决

    arcgisscripting需要Python 32位,用64位Python就会出现这个问题。arcgis在安装的时候会自动安装一个32位的Python,并通过pth文件设置好了arcpy和arcgisscripting库的路径,位置在C:\Python27\ArcGIS10.4,使用这个目录下的 32位python即可。
    发布时间:2020-10-11 13:14:11
  • 我查查APP最新采集方案演示:根据条码采集商品在各商超门店价格  西安鲲之鹏的微博视频 ​​​​

    发布时间:2020-09-25 11:46:12
  • 【经验分享】百度地图APP版POI边界坐标参数采集解析方案

    如附图1-3所示,是从百度地图APP采集到的POI边界GEOJSON数据,如何将其转换为有效的经纬度数据呢?详见 >>> www.site-digger.com/html/articles/20200916/816.html http://t.cn/A64HbBja

    如附图4所示,是成功解析GEOJSON数据后,利用高德地图API绘制的多边形区域(图4的下半部分)和在百度地图中实际查询该POI的边界区域(图4的上半部分)的对比。可以看到是完全吻合的。
    发布时间:2020-09-16 17:20:51
  • 【经验分享】终于实现携程App酒店房型列表数据解析
    1. 携程App在加载房型数据时没有使用HTTP协议,而使用了自定义的通信协议SOTP,详见(ctrip.business.sotp.SOTPConnection)类。
    2. SOTP协议返回的数据是经过压缩和系列化的,需要先解压然后反序列化(非JSON),才能得到原文。 ​​​​
    发布时间:2020-09-03 13:11:46
  • 【经验分享】Ubuntu server下使用gcp出现“dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11”问题的解决方法

    gcp是增强版的cp实现,最大的优势在于它可以显示实时的速度和整体的进度。关于gcp的详细介绍见这里https://linux.cn/thread/11868/1/1/

    在server终端下使用时会因为缺少X环境而报错。解决方法:
    dbus-launch gcp --help
    发布时间:2020-08-28 12:29:07
  • "小红书APP"商品数据采集,如附图所示 ​​​​
    发布时间:2020-08-10 12:39:13
当前位置: 首页 > 技术文章 >
知名本地生活信息平台5303万POI数据2019年更新
发布时间:2020-02-07

数据说明

知名本地生活信息平台各品类商户数据,本次共采集到超过5303万条(53032367条,总数统计如下图所示)。 2019年6月-2020年1月采集。
PS:仅商户基本信息数据,不含评论列表数据。

知名本地生活信息平台5303万POI数据统计截图

 

更新说明

1.本轮共采集到了5303万条不重复的POI数据。PS:使用shop_id作为主键,没有重复。

2.本轮更新开始于2019年6月中旬,完成于2020年1月中旬,耗时近7个月。

3.数据涵盖美食、休闲娱乐、丽人、酒店、亲子、景点、运动健身、购物、家装、教育培训、生活服务、医疗健康、爱车、宠物、结婚等15大类。
各分类数据量如下:
美食 15408473
丽人 3465759
酒店 1080155  
亲子 1357050
景点 250719
运动健身 300395
购物 10171669
家装 5077941
教育培训 1535670
生活服务 6691821
休闲娱乐 1750485
医疗健康 1760787
宠物 154696
爱车 2965910
结婚 755022
其它 305815

4. 数据覆盖全国约400个城市,不含境外城市。点击这里查看各城市店铺数量统计

5. 本次采集首先对2018年6月份的采集版本(4794万)做了全量完整更新。同时通过遍历POI列表又新采集到509万新增的POI。

6. 本版本5303万商户POI数据中:
■状态为"在营业"的有34076224条;
■状态为"关闭"的有18512495条;
■状态为"尚未营业"的有151144条;
■状态为"暂停营业"的有284907条;
■状态为"网友提交"的公共信息7597条。
PS:关闭的店铺在源网站上仍将可以打开,页面会有标志"商户已关"。

7. 其中有电话号码的28634002家(约占总数据量的54%)。

8. 本次采集的是APP数据源,2018年6月之前均采集的是PC版数据源。因此字段有所调整,例如少了"good_remarks"(好评数)和"bad_remarks"(差评数)字段。

 

字段说明

1. "shop_id"(商户ID,唯一、固定不变)
2. "status"(商户状态:0 - 正常营业;1 - 已关店;2 - 商户尚未营业;3 - 暂停营业;4 - 网友提交的公共信息。)
3. "name" (商户名称)
4. "city_id" (城市ID)
5. "city"(站点城市名称)
6. "real_city"(真实归属城市,点击查看城市列表
7. "province"(省份)
8. "avg_price"(均价)
9. "area_code"(电话区号)
10. "phone"(联系电话)
11. "regionname"(所属区县或商圈)
12. "address"(地址)
13. "cross_road"(所在交叉路口)
14. "big_category_id"(一级大类ID)
15. "big_category"(一级大类名称,点击查看分类列表
16. "small_category"(二级分类名称,点击查看分类列表
17. "star"(评分)
18. "longitude"(经度,腾讯地图)
19. "latitude"(纬度,腾讯地图)
20. "score1"(口味/产品评分)
21. "score2"(环境评分)
22. "score3"(服务评分)
23. "score4"(其它评分)
24. "review_count"(评论总数)
25. "bookable"(是否接受预定)
26. "default_pic"(店铺默认图片)
27. "alt_name"(商户别名)
28. "branchname"(分店名)
29. "dishtags"(推荐菜)
30. "updated"(数据采集时间)
31. "url"(源URL)

 

数据格式

数据格式:CSV和MySQL。

字符编码:UTF-8。

文件大小:RAR压缩后3.41GB,解压后约20GB。

 

示例数据

点击查看:http://db.site-digger.com/csv/6469616e70696e675f73686f70735f3230313930362d3230323030325f76335f757466385f73616d706c655f31303030/
温馨提示:为了保护个人隐私,示例数据中的手机号码隐藏了中间4位。

特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。
☹ Disqus被Qiang了,之前所有的评论内容都看不到了。如果您有爬虫相关技术方面的问题,欢迎发到我们的问答平台:http://spider.site-digger.com/
QQ在线客服
欢迎咨询,点击这里给我发送消息。
欢迎咨询,点击这里给我发送消息。

加微信咨询