更多>>关于我们

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

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

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

更多>>官方微博

西安鲲之鹏
陕西 西安

加关注

  • 【经验分享】Linux server(headless模式)下Android模拟器的实现。

    现在越来越多的采集项目(采集APP数据)需要用到安卓模拟器了,然而市面上还没有支持Linux server(headless模式)下运行的安装模拟器,太遗憾了(因为公司大多数服务器都是Ubuntu server版本)。

    我们可以使用KVM + Android x86版系统来实现:

    1. 安装配置KVM。关于KVM在Ubuntu server下的安装配置步骤,详见我们去年的这篇文章:http://t.cn/EGdGjVE
    2. Android x86是支持运行于 x86 PC上的Android操作系统。下载Android X86 系统安装ISO文件,下载地址:https://osdn.net/projects/android-x86/releases,我测试的是android-x86-6.0-r3.iso。
    3. 创建KVM虚拟硬盘:
    qemu-img create -f qcow2 ./android60-1/android.img 10G
    PS:磁盘大小10GB,虚拟磁盘文件存储路径./android60-1/android.img(后面要用到)。
    4. 创建好网桥br0(直连主机外网,如附图1所示)。让虚拟机通过桥接模式上网,这样我们就可以很方便的从外网使用adb连接5555端口,进行远程控制。网桥的配置方法详见http://t.cn/EGdGjVE
    5. 启动KVM虚拟机,安装Android x86系统:
    qemu-system-x86_64 -enable-kvm -m 2048 -smp 4 -cdrom "android-x86-6.0-r3.iso"  -hda "./android60-1/android.img" -net nic,model=virtio,macaddr=00:16:3E:51:CC:10 -net bridge,br=br0  -vnc :2

    PS: 2048M内存,4核CPU,光驱链接系统安装镜像文件android-x86-6.0-r3.iso,指定虚拟机使用00:16:3E:51:CC:10这个MAC,使用网桥br0,指定VNC端口为5900 + 2 = 5902。

    执行上述命令之后,就可以通过VNC连接5902端口,进行系统安装了,安装过程很简单,跟其它Linux发行版安装过程类似:先是分区,格式化磁盘,然后写入文件,重启(如附图2所示)。
    6. 系统好之后,再次运行上述命令(注意要把-cdrom相关参数去掉,否则默认还会从光盘启动),首次进入系统,需要完成系统初始化配置。

    PS:需要注意的是,如果卡到WIFI配置那里了(提示无法连接网络,安装向导无法连接到谷歌,原因你懂的),可以先关掉网络,方法是按Alt + F1,进入安装命令行模式(可以ping www.baidu.com,发现网络其实是通着的),执行ifconfig eth0 down断掉网络(如附图3所示),然后再按Alt + F7恢复图形模式,继续完成向导即可。

    7. 配置好一个安卓虚拟机之后,我们可以直接通过复制多个虚拟磁盘文件android.img,启动多个安卓系统。注意:要指定不同的MAC地址,和不同的VNC端口。

    如附图4和5所示,我配置好一个虚拟机,安装上所需的各种APP之后,通过直接复制android.img,又启动了2个MAC地址不同的安卓模拟器。

    如附图6所示,通过adb远程连接上各安卓虚拟机(模拟器)。
    发布时间:2019-07-10 17:08:14
  • 【经验分享】美团外卖APP在siua头里隐藏了什么信息?
    1. 美团外卖发出的HTTP请求头里有个叫做siua的头(如图1所示),它是什么鬼?
    2.反编译APK,一路跟踪,找到了startCollection(),如图2所示。就是它了。
    3. 通过Xposed HOOK上述函数,成功获取到明文数据(如下所示)。也如图3所示。

    1.0}}MSM8974|Xiaomi|cancro_wc_lte|cancro|KTU84P|zh|CN|Xiaomi|MI 4LTE|4.4.4|19|release-keys|Xiaomi/cancro_wc_lte/cancro:4.4.4/KTU84P/99.12.4:user/release-keys|qcom|qh-miui-ota-bd58|user|cancro|armeabi-v7a|armeabi|cancro-user 4.4.4 KTU84P 99.12.4 release-keys|1|0|}}mtp,adb|mtp,adb|mtp,adb|MPSS.DI.3.0-525eb9a|Qualcomm RIL 1.0|wlan0|ABSENT||1|1|1|1|1|1|1|1|0|1|1|1}}ARMv7 Processor rev 1 (v7l)|Qualcomm MSM8974PRO-AC|4|Accelerometer|STMicroelectronics|Gravity|Qualcomm}}866500021425311|-|-|1920*1080|12GB|12GB|7c:1d:d9:76:af:f9||wifi}}-|0|-1.0|0|0||79d072a8-59fc-4ace-b45e-1b386d8de712}}0|0|0|-}}Android|com.sankuai.meituan.takeoutnew|5.12.3|19|-|2019-06-25 14:00:34:034}}0.0|0.0|KUNZHIPENG|0c:4b:54:da:bd:80|1|-46|-|-|-|}}

    我们来看看这里面包含有什么信息:
    手机品牌、型号、安卓版本号、IMEI码、WLAN的MAC地址、热点名称、热点的MAC地址(如图4所示,和路由器铭牌一致)、手机屏幕尺寸、存储空间...
    发布时间:2019-06-28 16:27:07
  • 【经验分享】如何快速从APK中获取AES秘钥和IV?
    (1)如图1所示,是通过脱壳和反编译获取到的,用时约1小时。
    (2)如图2所示,是使用Xposed + CryptoFucker勾出来的,用时10分钟。
    详细过程见 >>>  http://t.cn/Aip4E9KW ​​​​
    发布时间:2019-06-22 14:21:11
  • 【经验分享】如果动态修改Android设备的代理,如何程序化设置安卓设备的HTTP代理? >>> 详见 http://t.cn/Aip4HUaM ​​​​
    发布时间:2019-06-22 14:11:35
  • 【经验分享】美团外卖APP采集
    1. 如何根据poiId打开店铺详情页?
    adb shell am start -a android.intent.action.VIEW --el poiId 1000651254601802   -n com.sankuai.meituan.takeoutnew/.ui.poi.shop.RestaurantActivity
    效果如图1所示。

    2. 如何截获App返回的应答数据(JSON)?
    使用Xposed勾住parsejson()方法。
    效果如图2所示。
    发布时间:2019-06-20 14:03:02
  • 【经验分享】iostat -d -x -k 1查看某个硬盘的IO一直是100%,如何定位是哪个程序造成的呢? 使用sudo iotop -aoP命令即可,如图所示。 ​​​​
    发布时间:2019-05-29 18:38:49
  • 【经验分享】Apache2如何设置文件的Content-Type值?

    例如,我想给所有的*.pem证书文件,都设置Content-Type为"pplication/x-x509-ca-cert"。
    经查,可以使用ForceType指令,示例如下:

    <FilesMatch "\.pem$">
      ForceType application/x-x509-ca-cert
    </FilesMatch> ​​​​
    发布时间:2019-05-28 15:44:17
  • 【经验分享】如何使用adb检测系统是否安装了某个APP?
    如下所示,判断是否安装了抖音:
    adb shell pm list packages |grep com.ss.android.ugc.aweme ​​​​
    发布时间:2019-05-24 09:39:20
  • 【经验分享】如何破解叮当快药的签名算法? >>> http://t.cn/EoAltBU ​​​​
    发布时间:2019-05-05 17:11:14
  • 【经验分享】抖音的附近功能是根据什么定位的呢?(请求的参数中并没有找到经纬度相关的参数)  经过实测发现是根据IP地址定位的。用西安的代理IP返回的就是西安的,用苏州的代理IP返回就是苏州的,用宿迁的代理IP返回的就是宿迁的。如下截图所示。 ​​​​
    发布时间:2019-04-18 13:42:20
当前位置: 首页 > 公司微博 >
  • 西安鲲之鹏

    发布时间:2018-08-29 09:40:54
    携程网国内酒店用户评论数据(超8163万条) >>> http://t.cn/RF2wUiM ​​​​

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-08-22 12:22:02
    【经验分享】"Selenium + Firefox"如何使用带用户名密码认证的HTTP代理?

    鲲之鹏的技术人员通过研究终于找到了一个有效并且稳定的解决方案:
    借助close-proxy-authentication这个插件,可以在Selenium + Firefox时自动完成HTTP代理认证,流程是这样的:
    (1)通过Firefox配置选项动态添加close-proxy-authentication这个插件(默认不加载任何插件);
    (2)通过配置选项设置HTTP代理的IP和端口参数;
    (3)设置extensions.closeproxyauth.authtoken的值为base64encode("用户名:密码");
    (4)后续访问网站的时候close-proxy-authentication插件将自动完成代理的授权验证过程,不会再弹出认证窗口;

    点击了解详情 (内附代码)>>> http://t.cn/RkKR45S

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-08-21 10:16:59
    【经验分享】如何突破网站对selenium的屏蔽?
    现在已经有部分网站能够识别并屏蔽selenium,鲲之鹏的技术人员通过本文向你介绍:
    (1)网站是如何识别selenium的;
    (2)如何突破网站对selenium的屏蔽;
    满满的干货,点击查看详情 >>. http://t.cn/Rk6GM15 ​​​​

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-08-20 22:27:46
    【备忘】mitmproxy v0.18.2 版本Windows & Linux版本下载链接:http://t.cn/RkJXXeD
    PS: 解压二进制可执行文件即可使用,建议放到系统环境变量能找到的地方; ​​​​

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-08-20 12:51:50
    【经验分享】mitmproxy如何指定上游代理?
    使用-U参数,详情如下:
    mitmdump.exe -U http://IP:PORT --upstream-auth USERNAME:PASSWORD
    测试结果如下图所示。
    注意:这里测试的是mitmproxy的0.18.2版本,新版本可能不太一样。 ​​​​

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-08-14 21:40:44
    【经验分享】Slenium + Chrome 忽略证书错误方法

    def start_chrome(proxy):
        """启动Chrome
        """
        options = webdriver.ChromeOptions()
        # 禁止加载图片
        chrome_prefs = {}
        chrome_prefs["profile.default_content_settings"] = {"images": 2}
        chrome_prefs["profile.managed_default_content_settings"] = {"images": 2}
        options.experimental_options["prefs"] = chrome_prefs
        if proxy:
            #
    设置代理
            options.add_extension(get_chrome_proxy_extension(proxy=proxy))
        # 设置UA
        options.add_argument("user-agent=Kunzhipeng v12.3")
        #
    忽略证书警告
        options.add_argument("--ignore-certificate-errors")
        chrome = webdriver.Chrome(chrome_options=options)
        chrome.set_page_load_timeout(30)
        return chrome

    参考:http://t.cn/RDB1bBF
    PS: 为什么要忽略证书错误呢? e.g. 用Fiddler的中间人代理访问HTTPS网站时会出现证书错误,无法正常浏览。

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-07-27 10:22:09
    【经验分享】同一账号,在同一IP下,人工浏览器登陆很正常,但是用Selenium(+phantomjs or + chrome)登陆,却提示“安全验证”,怎么破?
    想了一下,人工操作和Selenium操作的区别在于人速度慢,输入账号密码然后点击登陆之间会有延时(操作再快也需要两三秒时间),而Selenium可以瞬间完成这些操作。通过JS可以检测到这个信息(“表单操作时间”)并提交给服务器,服务器如果判断这个表单操作时间过短就判断为机器,然后用“安全验证”拦住你。
    于是果断地给Selenium的表单操作加了几秒延时,问题顺利解决!

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-07-25 16:28:00
    【经验分享】用MongoDB做后端实现的队列MongoQueue测试结果如下:
    (1)插入10w任务耗时约40秒;
    (2)读取10W任务并标记完成,耗时约90秒;

    MongoQueue的源码 >>> ttps://github.com/pengqi/mongoqueue/blob/master/mongoqueue/mongoqueue.py
    测试脚本源码 >>> http://t.cn/ReZT5y1

    PS:
    (1)MongoQueue默认没有给集合加索引,测试发现速度特别慢(感觉大概一秒能获取一个任务),加了索引以后速度飞速提升。
    (2)上次测试diskcache.Deque(http://t.cn/ReZT5yg)的结果忘了分享了,顺便对比一下:插入10w任务耗时约200秒,读取10W任务耗时基本一样。

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-07-16 14:54:09
    【经验分享】正则表达式提取效率要比xpath高很多,点击查看对比测试结果  >>> http://t.cn/Rgc7eJ2 ​​​​

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-07-15 21:51:54
    【经验分享】Chrome webdriver修改UA方法:
    options = webdriver.ChromeOptions()
    # 设置UA为“Kunzhipeng v12.3”
    options.add_argument("user-agent=Kunzhipeng v12.3")
    chrome = webdriver.Chrome(chrome_options=options)
    测试效果如附图所示。

    参考文章 [Change user agent for selenium driver]: http://t.cn/RgbkYiT

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-07-11 18:21:10
    Selenium disable Image loading in different browsers >>> http://t.cn/RdugmXm ​​​​

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-07-11 18:20:49
    chromedriver 镜像 - ChromeDriver Mirror >>> http://t.cn/RdugQbX ​​​​

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-07-11 15:28:47
    "全国POI信息数据库" 上线:涵盖美食、休闲娱乐、酒店、丽人等15大分类,覆盖全国350多个城市,数据量超过4700万条 >>> 点击前往:http://t.cn/RduZ2RC ​​​​

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-07-02 11:25:13
    【最新发布】国内知名本地生活信息平台4794万商户POI数据2018年06月份更新 >>> http://t.cn/RrdHvAC ​​​​

    阅读全文 +

  • 西安鲲之鹏

    发布时间:2018-06-21 18:57:26
    【CSV转Excel(XLSX格式)脚本分享】
    背景:大多数情况下CSV转Excel可以使用Openoffice或者Excel实现,但是偶尔也会遇到一些BT的情况,比如转换后Excel打开显示文件异常的(如图2所示)。于是乎利用xlsxwriter这个库写了个小脚本,用法如下:
    python csv2xlsx.py path-of-csv-file  file-encoding(default is utf-8)
    运行效果如图1所示。csv2xlsx.py源码链接分享 >>>http://t.cn/Rrhexmx

    阅读全文 +

QQ在线客服
欢迎咨询,点击这里给我发送消息。
欢迎咨询,点击这里给我发送消息。

加微信咨询