姓名:孟永超? ? ?學(xué)號(hào):22011110013
轉(zhuǎn)自:https://blog.csdn.net/pypyai_/article/details/115349694?spm=1001.2014.3001.5501
【嵌牛導(dǎo)讀】
任何數(shù)據(jù)科學(xué)項(xiàng)目都離不開(kāi)數(shù)據(jù)。沒(méi)有數(shù)據(jù)就沒(méi)有“數(shù)據(jù)科學(xué)”。大多數(shù)數(shù)據(jù)科學(xué)項(xiàng)目中用于分析和構(gòu)建機(jī)器學(xué)習(xí)模型的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,但有時(shí)數(shù)據(jù)也來(lái)自是網(wǎng)絡(luò)。
你可以從某個(gè)網(wǎng)頁(yè)收集某種產(chǎn)品的數(shù)據(jù),或者從社交媒體中發(fā)現(xiàn)某種模式,也許是情感分析。不管您為什么收集數(shù)據(jù)或打算如何使用數(shù)據(jù),從Web收集數(shù)據(jù)(Web抓?。┒际且豁?xiàng)非常繁瑣的工作。您需要做一些繁瑣的工作事情才能達(dá)到目的。
Web抓取是您作為數(shù)據(jù)科學(xué)家需要掌握的重要技能之一。為了讓得到的結(jié)果準(zhǔn)確并有意義,您需要知道如何查找,收集和清理數(shù)據(jù)。
【嵌牛鼻子】數(shù)據(jù)科學(xué)、收集數(shù)據(jù)、Web抓取
【嵌牛提問(wèn)】 什么是Web抓取?如何查找,收集和清理數(shù)據(jù)?
【嵌牛正文】?
Web抓取一直是法律的灰色領(lǐng)域。在我們深入研究數(shù)據(jù)提取工具之前,我們需要確保您的活動(dòng)是完全合法的。2020年,美國(guó)法院將網(wǎng)上抓取公開(kāi)數(shù)據(jù)完全合法化。也就是說(shuō),如果任何人都可以在線找到數(shù)據(jù)(例如Wiki文章),則抓取網(wǎng)頁(yè)也是合法的。
但是,當(dāng)您這樣做時(shí),請(qǐng)確保:
1、您不會(huì)以侵犯版權(quán)的方式重復(fù)使用或重新發(fā)布數(shù)據(jù)。
2、您尊重您要抓取的網(wǎng)站的服務(wù)條款。
3、您有一個(gè)合理的抓取率。
4、您不要嘗試抓取網(wǎng)站的非共享內(nèi)容。
只要您沒(méi)有違反這些條款中的任何一項(xiàng),您的網(wǎng)絡(luò)抓取活動(dòng)就是合法的。
如果使用Python構(gòu)建數(shù)據(jù)科學(xué)項(xiàng)目,可能會(huì)用到BeatifulSoup收集數(shù)據(jù),然后用Pandas對(duì)其進(jìn)行分析。本文將為您提供6種不包含BeatifulSoup的Web抓取工具,您可以免費(fèi)使用它們來(lái)收集下一個(gè)項(xiàng)目所需的數(shù)據(jù)。
Commom Crawl
網(wǎng)址:https://commoncrawl.org/
Common Crawl的開(kāi)發(fā)者開(kāi)發(fā)此工具是因?yàn)樗麄兿嘈琶總€(gè)人都應(yīng)該有機(jī)會(huì)探索和分析他們周?chē)氖澜?,并發(fā)現(xiàn)其模式。他們堅(jiān)持他們的開(kāi)源信念,提供只有大公司和研究機(jī)構(gòu)才能免費(fèi)獲得的高質(zhì)量數(shù)據(jù)。
這意味著,如果您是一名大學(xué)生,正在探索數(shù)據(jù)科學(xué)領(lǐng)域,或者是一位研究人員正在尋找下一個(gè)感興趣的主題,或者只是一個(gè)喜歡揭示模式并尋找趨勢(shì)的好奇者,則可以使用此工具而無(wú)需擔(dān)心費(fèi)用或任何其他復(fù)雜的財(cái)務(wù)問(wèn)題。
Common Crawl提供原始網(wǎng)頁(yè)數(shù)據(jù)和和用于文本提取的開(kāi)放數(shù)據(jù)集。為方便教育工作者教授數(shù)據(jù)分析,它還提供不用編碼的使用案例和資源。
Crawly
網(wǎng)址:http://crawly.diffbot.com/
Crawly是另一個(gè)令人令人贊嘆的抓取工具,特別是如果您只需要從網(wǎng)站中提取基本數(shù)據(jù),或者希望以CSV格式提取數(shù)據(jù),缺不想編寫(xiě)任何代碼就對(duì)其進(jìn)行分析的時(shí)候。
您所需要做的就是輸入一個(gè)URL,發(fā)送提取數(shù)據(jù)的電子郵件地址,所需的數(shù)據(jù)格式(在CSV或JSON之間選擇)。然后立即馬上,已抓取的數(shù)據(jù)就在您的郵件收件箱里了。您可以使用JSON格式,然后使用Pandas和Matplotlib或任何其他編程語(yǔ)言在Python中分析數(shù)據(jù)。
如果您不是程序員,或者只是剛開(kāi)始使用數(shù)據(jù)科學(xué)和Web抓取技術(shù),Crawly是完美的選擇,但它有其局限性。它只能提取一組有限的HTML標(biāo)簽,包括,Title,Author,Image URL,和Publisher。
ContentGrabber
網(wǎng)址:https://contentgrabber.com/Manual/understandingtheconcept.htm
Content Grabber是我最喜歡的Web抓取工具之一,因?yàn)樗浅l`活。如果您只想抓取網(wǎng)頁(yè)而又不想指定任何其他參數(shù),則可以使用其簡(jiǎn)單的GUI進(jìn)行操作。但Content Grabber也可以讓您完全控制參數(shù)選擇。
Content Grabber的優(yōu)點(diǎn)之一是您可以安排它自動(dòng)從Web上抓取信息。眾所周知,大多數(shù)網(wǎng)頁(yè)都會(huì)定期更新,因此定期提取內(nèi)容可能會(huì)非常有用。
它還為提取的數(shù)據(jù)提供了多種格式,從CSV,JSON到SQL Server或MySQL。
Webhose.io
網(wǎng)址:https://webhose.io/
Webhose.io是一個(gè)網(wǎng)絡(luò)抓取工具,可讓您從任何在線資源中提取企業(yè)級(jí)實(shí)時(shí)數(shù)據(jù)。Webhose.io收集的數(shù)據(jù)是結(jié)構(gòu)化的,干凈的包含了情感和實(shí)體識(shí)別,并且可以以XML,RSS和JSON等不同格式使用。
Webhose.io的數(shù)據(jù)覆蓋所有公共網(wǎng)站。此外,它提供了許多過(guò)濾器來(lái)優(yōu)化提取的數(shù)據(jù),因此只需較少的清理工作及可直接進(jìn)入分析階段。
Webhose.io的免費(fèi)版本每月提供1000個(gè)HTTP請(qǐng)求。付費(fèi)計(jì)劃提供了更多抓取請(qǐng)求。Webhose.io具有對(duì)提取數(shù)據(jù)的強(qiáng)大支持,并提供圖像分析和地理定位以及長(zhǎng)達(dá)10年的存檔歷史數(shù)據(jù)等諸多功能。
ParseHub
網(wǎng)址:https://www.parsehub.com/
ParseHub是一個(gè)強(qiáng)大的Web抓取工具,任何人都可以免費(fèi)使用。只需單擊一下按鈕,即可提供可靠,準(zhǔn)確的數(shù)據(jù)提取。您還可以設(shè)定抓取時(shí)間以便及時(shí)更新數(shù)據(jù)。
ParseHub的優(yōu)勢(shì)之一是它可以輕松處理復(fù)雜的網(wǎng)頁(yè)。您甚至可以指示它搜索表單,菜單,登錄網(wǎng)站,甚至單擊圖像或地圖獲取更多數(shù)據(jù)。
您還可以為ParseHub提供各種鏈接和一些關(guān)鍵字,它可以在幾秒鐘內(nèi)提取相關(guān)信息。最后,您可以使用REST API以JSON或CSV格式下載提取的數(shù)據(jù)進(jìn)行分析。您也可以將收集的數(shù)據(jù)導(dǎo)出為Google表格或Tableau。
Scrapingbee
網(wǎng)址:https://bit.ly/2P8gRAA
我們介紹的最后一個(gè)抓取工具是Scrapingbee。Scrapingbee提供了一種用于Web抓取的API,該API甚至可以處理最復(fù)雜的Javascript頁(yè)面并將其轉(zhuǎn)換為原始HTML供您使用。此外,它具有專(zhuān)用的API,可用于使用Google搜索進(jìn)行網(wǎng)頁(yè)抓取。
Scrapingbee可以通過(guò)以下三種方式之一使用:
常規(guī)Web爬網(wǎng),例如,提取股票價(jià)格或客戶(hù)評(píng)論。
搜索引擎結(jié)果頁(yè)通常用于SEO或關(guān)鍵字監(jiān)視。
增長(zhǎng)黑客,包括提取聯(lián)系信息或社交媒體信息。
Scrapingbee提供了一個(gè)免費(fèi)計(jì)劃,其中包括1000次額度和可無(wú)限使用的付費(fèi)計(jì)劃。
最后
在數(shù)據(jù)科學(xué)項(xiàng)目工作流程中,為項(xiàng)目收集數(shù)據(jù)可能是最有趣,最乏味的步驟。這項(xiàng)任務(wù)可能會(huì)非常耗時(shí),并且,如果您在公司甚至是自由職業(yè)者中工作,您都知道時(shí)間就是金錢(qián),這總是意味著,如果有一種更有效的方法來(lái)做某事,則最好使用它。
好消息是,網(wǎng)頁(yè)抓取不必過(guò)于繁瑣。您不需要執(zhí)行它,甚至不需要花費(fèi)很多時(shí)間手動(dòng)執(zhí)行它。使用正確的工具可以幫助您節(jié)省大量時(shí)間,金錢(qián)和精力。而且,這些工具對(duì)于分析人員或編碼背景不足的人員可能是有益的。
當(dāng)您想選擇一種用于抓取網(wǎng)絡(luò)的工具時(shí),需要考慮下列因素,比如API集成和大規(guī)模抓取的可擴(kuò)展性。本文為您提供了一些可用于不同數(shù)據(jù)收集機(jī)制的工具。使用一下這些工具,然后確定下一個(gè)數(shù)據(jù)收集項(xiàng)目中采取哪個(gè)事半功倍的方法。