日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

企业数据采集的10个经典方法

發(fā)布時間:2023/12/9 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 企业数据采集的10个经典方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

企業(yè)數(shù)據(jù)采集的企業(yè)信息采集,企業(yè)名錄、法人號碼、企業(yè)采集軟件,網(wǎng)頁抓取數(shù)據(jù)、網(wǎng)頁爬蟲、采集網(wǎng)站數(shù)據(jù)、網(wǎng)頁數(shù)據(jù)采集軟件、python爬蟲、HTM網(wǎng)頁提取、APP數(shù)據(jù)抓包、APP數(shù)據(jù)采集、一站式網(wǎng)站采集技術(shù)、BI數(shù)據(jù)的數(shù)據(jù)分析、數(shù)據(jù)標(biāo)注等成為大數(shù)據(jù)發(fā)展中的熱門技術(shù)關(guān)鍵詞。那么企業(yè)數(shù)據(jù)采集的方法有哪些呢?我給大家分享一下,我爬蟲的個人經(jīng)驗,我們在采集類似企業(yè)網(wǎng)站數(shù)據(jù)的時候會遇到什么技術(shù)問題,然后再根據(jù)這些問題給大家分享采集方案.

一、寫爬蟲采集網(wǎng)站之前:

為什么經(jīng)常聽到有些網(wǎng)站的域名被劫持、服務(wù)器被heikegongji、數(shù)據(jù)庫被盜等

大家平時登錄一個網(wǎng)站,記的都是類似www.tianyancha.com這樣的網(wǎng)址。這叫做域名(domain name)。輸入域名后是需要先通過DNS服務(wù)器來解析識別這個域名對應(yīng)的服務(wù)器IP地址,每家公司網(wǎng)站的程序和數(shù)據(jù)都是放在自己服務(wù)器上的(如阿里云服務(wù)器或者自己購買的服務(wù)器),每個服務(wù)器有一個IP地址,只要知道這個IP地址,就可以訪問到這個網(wǎng)站(特殊情況除外,比如設(shè)置了禁止IP訪問權(quán)限)。

(1)域名解析過程:輸入www.tianyancha.com這網(wǎng)址(域名)怎么就可以訪問到對應(yīng)的網(wǎng)站呢?那是因為如果需要讓您域名可以正常使用,就必須先把域名和您網(wǎng)站的服務(wù)器IP地址綁定在一起,以后用戶在瀏覽器只要輸入這個域名就等于輸入您這個服務(wù)器IP地址了,這個綁定的過程叫做域名解析,互聯(lián)網(wǎng)有13臺DNS根服務(wù)器,專門來做域名解析,其中10臺在美國(包括一臺主根服務(wù)器),另外3臺根服務(wù)器分別在英國、瑞典、日本,而中國一臺都沒有,那么,大家的擔(dān)憂隨之而來:很多朋友問我,如果美國的根服務(wù)器不為中國提供服務(wù)了,中國是不是就從網(wǎng)絡(luò)上消失了?網(wǎng)站還能訪問嗎?其實域名服務(wù)器只是解析域作用而已,如果沒有域名我們可以用IP訪問網(wǎng)站,只是用IP訪問記起來不方便而已,域名也就一個別名容易記住的簡稱的作用而已,例如103.235.46.39。這叫做IP地址,即Internet Protocol Address,互聯(lián)網(wǎng)協(xié)議地址。比如輸入 ping??www.baidu.com可以查到百度這個網(wǎng)址解析綁定到的是哪個服務(wù)器的IP地址

?

??從上面可以知道百度的IP地址為:103.235.46.39。當(dāng)您知道這個網(wǎng)址的服務(wù)器IP地址時候,您在瀏覽器輸入網(wǎng)址和您在瀏覽器輸入這個IP地址 都是可以訪問到這個網(wǎng)站的(除非有些禁止IP訪問),通過這個手段,我們后面在做網(wǎng)站數(shù)據(jù)采集爬蟲的時就可以直接請求IP地址去采集數(shù)據(jù)了,可以繞過網(wǎng)址直搗皇宮了,就算網(wǎng)址更換了,但是服務(wù)器是不變的,我們一樣找到它網(wǎng)站老巢,采集它的數(shù)據(jù)。

(2)域名劫持爬蟲技術(shù): 域名劫持是互聯(lián)網(wǎng)gongji的一種方式,通過gongji域名解析服務(wù)器(DNS),實現(xiàn)劫持,因為如果要訪問www.baidu.com 就必先經(jīng)過DNS域名解析服務(wù)器來解析這個網(wǎng)址對應(yīng)那臺服務(wù)器IP地址。如果在這個過程有heike想攻您網(wǎng)站,比如heike想gongji百度,就可以在這個DNS解析域名環(huán)節(jié)做手腳,比如我想讓所有用戶打開www.baidu.com 直接訪問的是我的廣告網(wǎng)站,而不是百度自己服務(wù)器里面的網(wǎng)站網(wǎng)頁。那很簡單,那只要在DNS 解析百度這個網(wǎng)址的時候把對應(yīng)的百度服務(wù)器IP地址 修改解析到您自己的網(wǎng)站服務(wù)器IP地址去,那么所有人打開這個www.tianyancha.com網(wǎng)址就實際就是打開您的網(wǎng)站了。這個過程就叫域名劫持,這種技術(shù)已經(jīng)不是爬蟲技術(shù)是高級的heike技術(shù)了。

(3)釣魚網(wǎng)站爬蟲技術(shù):通過域名劫持技術(shù),很多人heike去劫持銀行網(wǎng)站、支付寶網(wǎng)站、充值交易的網(wǎng)站等,比如他們先做一個和銀行一模一樣的網(wǎng)站,功能和長相和銀行的一模一樣,這個網(wǎng)站我們稱呼釣魚網(wǎng)站,用戶打開銀行網(wǎng)址時候,其實已經(jīng)被劫持走了,真正訪問的是他們提供的釣魚網(wǎng)站,但是因為網(wǎng)址是一樣的,網(wǎng)站長相也是一樣的,用戶壓根不會識別出來,等您輸入銀行賬號密碼后,您的銀行卡的錢估計就自動被轉(zhuǎn)走了,因為已經(jīng)知道您的賬號密碼了。對技術(shù)感興趣朋友歡迎交流我扣扣:2779571288

二、網(wǎng)站數(shù)據(jù)采集的10個經(jīng)典方法:

?我們平時說的采集網(wǎng)站數(shù)據(jù)、數(shù)據(jù)抓取等,其實不是真正的采集數(shù)據(jù),在我們的職業(yè)里這個最多算是正則表達式,網(wǎng)頁源代碼解析而已,談不上爬蟲采集技術(shù)難度,因為這種抓取主要是采集瀏覽器打開可以看到的數(shù)據(jù),這個數(shù)據(jù)叫做html頁面數(shù)據(jù),比如您打開:www.jintancn.com這個網(wǎng)址,然后鍵盤按F12?,可以直接看到這個網(wǎng)址的所有數(shù)據(jù)和源代碼,這個網(wǎng)站主要是提供一些爬蟲技術(shù)服務(wù)和定制,里面有些免費新工商數(shù)據(jù),如果需要采集它數(shù)據(jù),你可以寫個正則匹配規(guī)則html標(biāo)簽,進行截取我們需要的字段信息即可。下面給大家總結(jié)一下采集類似這種工商、天眼、商標(biāo)、專利、亞馬遜、淘寶、app等普遍網(wǎng)站常用的幾個方法,掌握這些訪問幾乎解決了90%的數(shù)據(jù)采集問題了。

?方法一: 用python的request方法

???????用python的request方法,直接原生態(tài)代碼,python感覺是為了爬蟲和大數(shù)據(jù)而生的,我平時做的網(wǎng)絡(luò)分布式爬蟲、圖像識別、AI模型都是用python,因為python有很多現(xiàn)存的庫直接可以調(diào)用,比如您需要做個簡單爬蟲,比如我想采集百度 幾行代碼就可以搞定了,核心代碼如下:

import requests ?#引用reques庫

response=request.get(‘https://www.tianyancha.com/’)#用get模擬請求

print(response.text) ?#已經(jīng)采集出來了,也許您會覺好神奇!

方法二、用selenium模擬瀏覽器

selenium是一個專門采集反爬很厲害的網(wǎng)站經(jīng)常使用的工具,它主要是可以模擬瀏覽器去打開訪問您需要采集的目標(biāo)網(wǎng)站了,比如您需要采集天眼查或者企查查或者是淘寶、58、京東等各種商業(yè)的網(wǎng)站,那么這種網(wǎng)站服務(wù)端做了反爬技術(shù)了,如果您還是用python的request.get方法就容易被識別,被封IP。這個時候如果您對數(shù)據(jù)采集速度要求不太高,比如您一天只是采集幾萬條數(shù)據(jù)而已,那么這個工具是非常適合的。我當(dāng)時在處理商標(biāo)網(wǎng)時候也是用selenum,后面改用JS逆向了,如果您需要采集幾百萬幾千萬怎么辦呢?下面的方法就可以用上了。

方法三、用scrapy進行分布式高速采集

Scrapy是適用于Python的一個快速、高層次的屏幕抓取和web抓取框架,用于抓取web站點并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)。scrapy 特點是異步高效分布式爬蟲架構(gòu),可以開多進程 多線程池進行批量分布式采集。 比如您想采集1000萬的數(shù)據(jù),您就可以多設(shè)置幾個結(jié)點和線程。Scrapy也有缺點的,它基于 twisted 框架,運行中的 exception 是不會干掉 reactor(反應(yīng)器),并且異步框架出錯后 是不會停掉其他任務(wù)的,數(shù)據(jù)出錯后難以察覺。我2019年在做企業(yè)知識圖譜建立的時候就是用這個框架,因為要完成1.8億的全量工商企業(yè)數(shù)據(jù)采集和建立關(guān)系,維度比天眼還要多,主要是時候更新要求比天眼快。對技術(shù)感興趣朋友歡迎交流我扣扣:2779571288

方法四:用Crawley

Crawley也是python開發(fā)出的爬蟲框架,該框架致力于改變?nèi)藗儚幕ヂ?lián)網(wǎng)中提取數(shù)據(jù)的方式。它是基于Eventlet構(gòu)建的高速網(wǎng)絡(luò)爬蟲框架、可以將爬取的數(shù)據(jù)導(dǎo)入為Json、XML格式。支持非關(guān)系數(shù)據(jù)跨、支持使用Cookie登錄或訪問那些只有登錄才可以訪問的網(wǎng)頁。

方法五:用PySpider

相對于Scrapy框架而言,PySpider框架是一支新秀。它采用Python語言編寫,分布式架構(gòu),支持多種數(shù)據(jù)庫后端,強大的WebUI支持腳本編輯器、任務(wù)監(jiān)視器、項目管理器以及結(jié)果查看器。 PPySpider的特點是ython腳本控制,可以用任何你喜歡的html解析包,Web界面編寫調(diào)試腳本、起停腳本、監(jiān)控執(zhí)行狀態(tài)、查看活動歷史,并且支持RabbitMQ、Beanstalk、Redis和Kombu作為消息隊列。用它做個兩個外貿(mào)網(wǎng)站采集的項目,感覺還不錯。

方法六:用Aiohttp

Aiohttp 是純粹的異步框架,同時支持 HTTP 客戶端和 HTTP 服務(wù)端,可以快速實現(xiàn)異步爬蟲。坑比其他框架少。并且 aiohttp 解決了requests 的一個痛點,aiohttp 可以輕松實現(xiàn)自動轉(zhuǎn)碼,對于中文編碼就很方便了。這個做異步爬蟲很不錯,我當(dāng)時對幾個淘寶網(wǎng)站異步檢測商城里面的商品和價格變化后處理時用過一段時間。

方法七:asks

Python 自帶一個異步的標(biāo)準(zhǔn)庫 asyncio,但是這個庫很多人覺得不好用,甚至是 Flask 庫的作者公開抱怨自己花了好長時間才理解這玩意,于是就有好事者撇開它造了兩個庫叫做 curio 和 trio,而這里的 ask 則是封裝了 curio 和 trio 的一個 http 請求庫。

方法八:vibora

號稱是現(xiàn)在最快的異步請求框架,跑分是最快的。寫爬蟲、寫服務(wù)器響應(yīng)都可以用,用過1個月后 就很少用了。

方法九:Pyppeteer

Pyppeteer 是異步無頭瀏覽器(Headless Chrome),從跑分來看比 Selenium + webdriver 快,使用方式是最接近于瀏覽器的自身的設(shè)計接口的。它本身是來自 Google 維護的 puppeteer我經(jīng)常使用它來提高selenium采集的一些反爬比較厲害的網(wǎng)站 比如裁判文書網(wǎng),這種網(wǎng)站反爬識別很厲害。

方法十:Fiddle++node JS逆向+request ?(采集APP必用)

Fiddler是一個蠻好用的抓包工具,可以將網(wǎng)絡(luò)傳輸發(fā)送與接受的數(shù)據(jù)包進行截獲、重發(fā)、編輯、轉(zhuǎn)存等操作。我們在采集某個app時候,一般是先用Fiddler抓包 找到這個app請求這個數(shù)據(jù)時候調(diào)取的是后臺的那個接口地址,找到這個地址和請求的參數(shù)然后再模擬request。今年在處理快手、抖音的粉絲、評價、商品店鋪銷量時候就用到了Fiddle。某些APP 和網(wǎng)站的參數(shù)是通過js加密的,比如商標(biāo)網(wǎng)、裁判文書網(wǎng)、抖音快手等這些。您如果需要請求它的源api地址就的逆向解析破解這些加密參數(shù),可以使用node解析混淆函數(shù)。因為平時需要經(jīng)常采集一些app,所以和Fiddler打交道的比較多。

前面主要是對網(wǎng)站和APP 數(shù)據(jù)采集和解析的一些方法,其實對這種網(wǎng)站爬蟲技術(shù)說無非就解決三個問題:首先是封IP問題,您可以自建代理IP池解決這個問題的,第二個問題就是驗證碼問題,這個問題可以通過python的圖像識別技術(shù)來解決或者是您直接調(diào)取第三方的打碼平臺解決。第三問題就是需要會員賬號登錄后才看到的數(shù)據(jù),這個很簡單直接用cookie池解決。對技術(shù)感興趣朋友歡迎交流我扣扣:2779571288。

總結(jié)

以上是生活随笔為你收集整理的企业数据采集的10个经典方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。