2023年6月29日发(作者:)
app采集的10个经典⽅法app采集的抓取数据、app抓包、⽹页爬⾍、采集⽹站数据、app数据采集软件、python爬⾍、HTM⽹页提取、APP数据抓包、APP数据采集、⼀站式⽹站采集技术、BI数据的数据分析、数据标注等成为⼤数据发展中的热门技术关键词。那么app采集数据的⽅法有哪些呢?我给⼤家分享⼀下,我爬⾍的个⼈经验,我们在采集类似app采集⽹站数据的时候会遇到什么技术问题,然后再根据这些问题给⼤家分享采集⽅案.⼀、写爬⾍采集⽹站之前:为什么经常听到有些⽹站的域名被劫持、服务器被heike gongji、数据库被盗等⼤家平时登录⼀个⽹站,记的都是类似这样的⽹址。这叫做域名(domain name)。输⼊域名后是需要先通过DNS服务器来解析识别这个域名对应的服务器IP地址,每家公司⽹站的程序和数据都是放在⾃⼰服务器上的(如阿⾥云服务器或者⾃⼰购买的服务器),每个服务器有⼀个IP地址,只要知道这个IP地址,就可以访问到这个⽹站(特殊情况除外,⽐如设置了禁⽌IP访问权限)。(1)域名解析过程:输⼊这⽹址(域名)怎么就可以访问到对应的⽹站呢?那是因为如果需要让您域名可以正常使⽤,就必须先把域名和您⽹站的服务器IP地址绑定在⼀起,以后⽤户在浏览器只要输⼊这个域名就等于输⼊您这个服务器IP地址了,这个绑定的过程叫做域名解析,互联⽹有13台DNS根服务器,专门来做域名解析,其中10台在美国(包括⼀台主根服务器),另外3台根服务器分别在英国、瑞典、⽇本,⽽中国⼀台都没有,那么,⼤家的担忧随之⽽来:很多朋友问我,如果美国的根服务器不为中国提供服务了,中国是不是就从⽹络上消失了?⽹站还能访问吗?其实域名服务器只是解析域作⽤⽽已,如果没有域名我们可以⽤IP访问⽹站,只是⽤IP访问记起来不⽅便⽽已,域名也就⼀个别名容易记住的简称的作⽤⽽已,例如103.235.46.39。这叫做IP地址,即Internet Protocol Address,互联⽹协议地址。⽐如输⼊ ping 解析绑定到的是哪个服务器的IP地址。从上⾯可以知道百度的IP地址为:103.235.46.39。当您知道这个⽹址的服务器IP地址时候,您在浏览器输⼊⽹址和您在浏览器输⼊这个IP地址 都是可以访问到这个⽹站的(除⾮有些禁⽌IP访问),通过这个⼿段,我们后⾯在做⽹站数据采集爬⾍的时就可以直接请求IP地址去采集数据了,可以绕过⽹址直捣皇宫了,就算⽹址更换了,但是服务器是不变的,我们⼀样找到它⽹站⽼巢,采集它的数据。(2)域名劫持爬⾍技术: 劫持是互联⽹攻gongji的⼀种⽅式,通过gongji服务器(DNS),实现劫持,因为如果要访问就必先经过DNS域名解析服务器来解析这个⽹址对应那台服务器IP地址。如果在这个过程有heike想攻您⽹站,⽐如heike想gongji百度,就可以在这个DNS解析域名环节做⼿脚,⽐如我想让所有⽤户打开 直接访问的是我的⼴告⽹站,⽽不是百度⾃⼰服务器⾥⾯的⽹站⽹页。那很简单,那只要在DNS 解析百度这个⽹址的时候把对应的百度服务器IP地址 修改解析到您⾃⼰的⽹站服务器IP地址去,那么所有⼈打开这个⽹址就实际就是打开您的⽹站了。这个过程就叫域名劫持,这种技术已经不是爬⾍技术是⾼级的heike技术了。(3)钓鱼⽹站爬⾍技术:通过域名劫持技术,很多⼈heike去劫持银⾏⽹站、⽀付宝⽹站、充值交易的⽹站等,⽐如他们先做⼀个和银⾏⼀模⼀样的⽹站,功能和长相和银⾏的⼀模⼀样,这个⽹站我们称呼钓鱼⽹站,⽤户打开银⾏⽹址时候,其实已经被劫持⾛了,真正访问的是他们提供的钓鱼⽹站,但是因为⽹址是⼀样的,⽹站长相也是⼀样的,⽤户压根不会识别出来,等您输⼊银⾏账号密码后,您的银⾏卡的钱估计就⾃动被转⾛了,因为已经知道您的账号密码了。对技术感兴趣朋友欢迎交流我扣扣:2779571288⼆、⽹站数据采集的10个经典⽅法: 我们平时说的采集⽹站数据、数据抓取等,其实不是真正的采集数据,在我们的职业⾥这个最多算是正则表达式,⽹页源代码解析⽽已,谈不上爬⾍采集技术难度,因为这种抓取主要是采集浏览器打开可以看到的数据,这个数据叫做html页⾯数据,⽐如您打开: ,可以直接看到这个⽹址的所有数据和源代码,这个⽹站主要是提供⼀些爬⾍技术服务和定制,⾥⾯有些免费新⼯商数据,如果需要采集它数据,你可以写个正则匹配规则html标签,进⾏截取我们需要的字段信息即可。下⾯给⼤家总结⼀下采集类似这种⼯商、天眼、商标、专利、亚马逊、淘宝、app等普遍⽹站常⽤的⼏个⽅法,掌握这些访问⼏乎解决了90%的数据采集问题了。 ⽅法⼀: ⽤python的request⽅法 ⽤python的request⽅法,直接原⽣态代码,python感觉是为了爬⾍和⼤数据⽽⽣的,我平时做的⽹络分布式爬⾍、图像识别、AI模型都是⽤python,因为python有很多现存的库直接可以调⽤,⽐如您需要做个简单爬⾍,⽐如我想采集百度 ⼏⾏代码就可以搞定了,核⼼代码如下:import requests #引⽤reques库print() #已经采集出来了,也许您会觉好神奇!⽅法⼆、⽤selenium模拟浏览器selenium是⼀个专门采集反爬很厉害的⽹站经常使⽤的⼯具,它主要是可以模拟浏览器去打开访问您需要采集的⽬标⽹站了,⽐如您需要采集天眼查或者企查查或者是淘宝、58、京东等各种商业的⽹站,那么这种⽹站服务端做了反爬技术了,如果您还是⽤python的⽅法就容易被识别,被封IP。这个时候如果您对数据采集速度要求不太⾼,⽐如您⼀天只是采集⼏万条数据⽽已,那么这个⼯具是⾮常适合的。我当时在处理商标⽹时候也是⽤selenum,后⾯改⽤JS逆向了,如果您需要采集⼏百万⼏千万怎么办呢?下⾯的⽅法就可以⽤上了。⽅法三、⽤scrapy进⾏分布式⾼速采集Scrapy是适⽤于Python的⼀个快速、⾼层次的屏幕抓取和web抓取框架,⽤于抓取web站点并从页⾯中提取结构化的数据。scrapy 特点是异步⾼效分布式爬⾍架构,可以开多进程 多线程池进⾏批量分布式采集。 ⽐如您想采集1000万的数据,您就可以多设置⼏个结点和线程。Scrapy也有缺点的,它基于 twisted 框架,运⾏中的 exception 是不会⼲掉 reactor(反应器),并且异步框架出错后 是不会停掉其他任务的,数据出错后难以察觉。我2019年在做企业知识图谱建⽴的时候就是⽤这个框架,因为要完成1.8亿的全量⼯商企业数据采集和建⽴关系,维度⽐天眼还要多,主要是时候更新要求⽐天眼快。对技术感兴趣朋友欢迎交流我扣扣:2779571288⽅法四:⽤CrawleyCrawley也是python开发出的爬⾍框架,该框架致⼒于改变⼈们从互联⽹中提取数据的⽅式。它是基于Eventlet构建的⾼速⽹络爬⾍框架、可以将爬取的数据导⼊为Json、XML格式。⽀持⾮关系数据跨、⽀持使⽤Cookie登录或访问那些只有登录才可以访问的⽹页。⽅法五:⽤PySpider相对于Scrapy框架⽽⾔,PySpider框架是⼀⽀新秀。它采⽤Python语⾔编写,分布式架构,⽀持多种数据库后端,强⼤的WebUI⽀持脚本编辑器、任务监视器、项⽬管理器以及结果查看器。 PPySpider的特点是ython脚本控制,可以⽤任何你喜欢的html解析包,Web界⾯编写调试脚本、起停脚本、监控执⾏状态、查看活动历史,并且⽀持RabbitMQ、Beanstalk、Redis和Kombu作为消息队列。⽤它做个两个外贸⽹站采集的项⽬,感觉还不错。⽅法六:⽤AiohttpAiohttp 是纯粹的异步框架,同时⽀持 HTTP 客户端和 HTTP 服务端,可以快速实现异步爬⾍。坑⽐其他框架少。并且 aiohttp 解决了requests 的⼀个痛点,aiohttp 可以轻松实现⾃动转码,对于中⽂编码就很⽅便了。这个做异步爬⾍很不错,我当时对⼏个淘宝⽹站异步检测商城⾥⾯的商品和价格变化后处理时⽤过⼀段时间。⽅法七:asksPython ⾃带⼀个异步的标准库 asyncio,但是这个库很多⼈觉得不好⽤,甚⾄是 Flask 库的作者公开抱怨⾃⼰花了好长时间才理解这玩意,于是就有好事者撇开它造了两个库叫做 curio 和 trio,⽽这⾥的 ask 则是封装了 curio 和 trio 的⼀个 http 请求库。⽅法⼋:vibora号称是现在最快的异步请求框架,跑分是最快的。写爬⾍、写服务器响应都可以⽤,⽤过1个⽉后 就很少⽤了。⽅法九:PyppeteerPyppeteer 是异步⽆头浏览器(Headless Chrome),从跑分来看⽐ Selenium + webdriver 快,使⽤⽅式是最接近于浏览器的⾃⾝的设计接⼝的。它本⾝是来⾃ Google 维护的 puppeteer。我经常使⽤它来提⾼selenium采集的⼀些反爬⽐较厉害的⽹站 ⽐如裁判⽂书⽹,这种⽹站反爬识别很厉害。⽅法⼗:Fiddle++node JS逆向+request (采集APP必⽤)Fiddler是⼀个蛮好⽤的抓包⼯具,可以将⽹络传输发送与接受的数据包进⾏截获、重发、编辑、转存等操作。我们在采集某个app时候,⼀般是先⽤Fiddler抓包 找到这个app请求这个数据时候调取的是后台的那个接⼝地址,找到这个地址和请求的参数然后再模拟request。今年在处理快⼿、抖⾳的粉丝、评价、商品店铺销量时候就⽤到了Fiddle。某些APP 和⽹站的参数是通过js加密的,⽐如商标⽹、裁判⽂书⽹、抖⾳快⼿等这些。您如果需要请求它的源api地址就的逆向解析破解这些加密参数,可以使⽤node解析混淆函数。因为平时需要经常采集⼀些app,所以和Fiddler打交道的⽐较多。前⾯主要是对⽹站和APP 数据采集和解析的⼀些⽅法,其实对这种⽹站爬⾍技术说⽆⾮就解决三个问题:⾸先是封IP问题,您可以⾃建代理IP池解决这个问题的,第⼆个问题就是验证码问题,这个问题可以通过python的图像识别技术来解决或者是您直接调取第三⽅的打码平台解决。第三问题就是需要会员账号登录后才看到的数据,这个很简单直接⽤cookie池解决。对技术感兴趣朋友欢迎交流我扣扣:2779571288。
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1687986520a64046.html
评论列表(0条)