更多>>关于我们

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

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

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

更多>>官方微博

西安鲲之鹏
陕西 西安

加关注

  • 【分享】大众点评各城市POI数据量统计结果列表
    数据来源:大众点评APP,各城市全分类商户列表;
    更新时间:2020年1月;
    数据总量:共计2459个“城市”,其中一级城市370个,含港澳台。

    大众点评全国全分类在营业POI数据量有多少?
    根据370个一级城市统计结果加总显示有3922万条。

    数据下载地址:
    http://t.cn/A65VyV16
    •  
    发布时间:2021-01-27 13:25:42
  • 【经验分享】使用urllib2时如何防止自定义的header被capitalization。

    例如,程序里写的'x-requested-with',但是发出去的包里却变成了'X-Requested-With'(如附图)。

    解决方法,自定义一个str类的子类,重写title和capitalize方法(如下)。
    class SafeString(str):
        def title(self):
            return self

        def capitalize(self):
            return self

    然后在赋值的时候这样写即可:
    headers[SafeString('x-requested-with')] = 'test'
    PS:这样urllib在调用SafeString('x-requested-with')的title方法时候,就直接原样返回了。
    发布时间:2020-12-17 10:54:32
  • 【经验分享】com.sankuai.meituan.takeoutnew在/sdcard/Android/这里藏有猫腻,如图 ​​​​
    发布时间:2020-11-24 11:23:25
  • 【经验分享】如何通过adb给安卓APP授权?
    背景:自动操作APP时,APP在首次启动(刚安装完或者被pm clear之后)可能会出现授权提示(例如,允许获取当前位置),打断了自动化操作流程,如何实现自动化授权呢?

    在启动APP之前,先通过adb命令给APP授予所需的权限即可,命令如下:
    adb shell pm grant <packageName> android.permission.READ_CONTACTS
    上述命令是给APP授予“读取联系人”的权限,更多的权限列表参见这里:
    https://blog.csdn.net/HardWorkingAnt/article/details/70952583

    经过授权之后,APP启动时就不会再弹出授权提示框了。
    发布时间:2020-11-20 16:35:43
  • 【备忘】curl --help|grep socks
         --socks4 HOST[:PORT]  SOCKS4 proxy on given host + port
         --socks4a HOST[:PORT]  SOCKS4a proxy on given host + port
         --socks5 HOST[:PORT]  SOCKS5 proxy on given host + port
         --socks5-hostname HOST[:PORT]  SOCKS5 proxy, pass host name to proxy(重点)
         --socks5-gssapi-service NAME  SOCKS5 proxy service name for GSS-API
         --socks5-gssapi-nec  Compatibility with NEC SOCKS5 server
    发布时间:2020-11-06 18:02:39
  • 【经验分享】如何"准确"查询一个ip的归属地?
    查询IP归属地最常用的方法是通过类似iplocation.net的工具网站进行查询,但是他们的数据库可能存在错误或者更新不够及时,导致查询结果错误。

    下面举两个例子:
    (1)91.214.188.126这个IP是一台美国服务器的IP,但是iplocation.net确显示为“荷兰(Netherlands)”,如附图1所示。
    (2)89.37.58.254这个IP是一台日本服务器的IP,但是iplocation.net确显示为“罗马尼亚(Romania)”,如附图2所示。

    有什么办法能"准确"查询一个ip的归属地呢? 可以采用路由追踪的方法,查看路由的最后几跳所在的位置。
    (1)例如附图3所示,是对91.214.188.126的路由追踪结果,可以看到数据最终跑到了美国,因此它肯定是一个美国IP。
    (2)再例如附图4所示,是对89.37.58.254的路由追踪结果,可以看到数据跳到了日本,因此它肯定是一个日本IP。

    PS:这个图像化的路由追踪工具叫做Best Trace。
    另外也可以使用这个traceroute这个在线工具>>>http://t.cn/E51F76C
    发布时间:2020-10-22 10:45:42
  • 【逆向分析】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
当前位置: 首页 > 技术文章 >
知名本地生活信息平台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在线客服
欢迎咨询,点击这里给我发送消息。
欢迎咨询,点击这里给我发送消息。

加微信咨询