中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

翻譯網(wǎng)站怎么做網(wǎng)站策劃報告

翻譯網(wǎng)站怎么做,網(wǎng)站策劃報告,專業(yè)網(wǎng)站開發(fā)多少錢,公司展示網(wǎng)站模板免費下載文章目錄 1.數(shù)據(jù)分析基本流程1.1 數(shù)據(jù)采集1.2 數(shù)據(jù)提煉1.3 數(shù)據(jù)探索分析 2.數(shù)據(jù)獲取的方法和工具2.1 數(shù)據(jù)解鎖器2.2 爬蟲瀏覽器2.3 數(shù)據(jù)洞察市場 3.完整案例分析:從數(shù)據(jù)采集到數(shù)據(jù)可視化3.1 直接按需定制數(shù)據(jù)集獲取數(shù)據(jù)3.2 獲取IP代理,利用python爬取數(shù)據(jù)…

文章目錄

    • 1.數(shù)據(jù)分析基本流程
      • 1.1 數(shù)據(jù)采集
      • 1.2 數(shù)據(jù)提煉
      • 1.3 數(shù)據(jù)探索分析
    • 2.數(shù)據(jù)獲取的方法和工具
      • 2.1 數(shù)據(jù)解鎖器
      • 2.2 爬蟲瀏覽器
      • 2.3 數(shù)據(jù)洞察市場
    • 3.完整案例分析:從數(shù)據(jù)采集到數(shù)據(jù)可視化
      • 3.1 直接按需定制數(shù)據(jù)集獲取數(shù)據(jù)
      • 3.2 獲取IP代理,利用python爬取數(shù)據(jù)
      • 3.3 數(shù)據(jù)可視化
    • 4.總結(jié)

1.數(shù)據(jù)分析基本流程

1.1 數(shù)據(jù)采集

數(shù)據(jù)采集顧名思義就是獲取數(shù)據(jù)源的各類數(shù)據(jù),它在數(shù)據(jù)分析和處理中扮演著至關(guān)重要的角色。

數(shù)據(jù)源的類型包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),這些數(shù)據(jù)類型的多樣性要求數(shù)據(jù)采集系統(tǒng)具備更高的靈活性和用戶自定義能力。

由于很多數(shù)據(jù)應(yīng)用都需要來自互聯(lián)網(wǎng)的外部數(shù)據(jù),因此,常常會用到網(wǎng)絡(luò)爬蟲,按照一定的規(guī)則,自動遞抓取互聯(lián)網(wǎng)信息的程序或者腳本。

再者,在大數(shù)據(jù)環(huán)境下,數(shù)據(jù)采集技術(shù)面臨許多挑戰(zhàn),包括數(shù)據(jù)源種類多、數(shù)據(jù)類型復雜、數(shù)據(jù)量大且產(chǎn)生速度快等問題。因此,保證數(shù)據(jù)采集的可靠性和高效性,避免重復數(shù)據(jù)成為關(guān)鍵考量因素。

數(shù)據(jù)采集常常需要面臨和克服以下問題:

  • 數(shù)據(jù)多樣性:源數(shù)據(jù)以各種格式存在,如文本、圖片、視頻等,需要掌握各種格式的處理方式。
  • 大數(shù)據(jù):數(shù)據(jù)海量且增長快,需要高效準確的定位到所需要的數(shù)據(jù)信息。
  • 數(shù)據(jù)安全與隱私:在采集和存儲數(shù)據(jù)的過程中,需要確保數(shù)據(jù)的安全性和保護用戶隱私,避免數(shù)據(jù)泄露和濫用。
  • 實時性要求:某些應(yīng)用對數(shù)據(jù)的實時性有嚴格要求,如何在短時間內(nèi)采集并處理大量實時數(shù)據(jù)是一個技術(shù)難題。
  • 網(wǎng)絡(luò)限制:對于在線數(shù)據(jù)采集,網(wǎng)絡(luò)的穩(wěn)定性和速度可能會影響數(shù)據(jù)的實時獲取,因此需要一個穩(wěn)定高效的網(wǎng)絡(luò)。
  • 頻率限制:針對某公共網(wǎng)址,多次采集會遭到封禁,因此,需要切換不同的IP,或者仿真模擬真人操作采集數(shù)據(jù)。
  • 技術(shù)機制:為了防止外部造成網(wǎng)址癱瘓,很多網(wǎng)站會設(shè)置各種機制,如驗證碼、IP 限制、動態(tài)頁面等,因此需要擁有專業(yè)的技術(shù)處理才能獲取數(shù)據(jù)。

針對這些問題,要么自己技術(shù)夠用,要么能找到技術(shù)夠硬的平臺,通過技術(shù)平臺解決難題或獲取數(shù)據(jù)。

1.2 數(shù)據(jù)提煉

數(shù)據(jù)采集主要是將數(shù)據(jù)匯集在一起,為數(shù)據(jù)提煉做準備,而數(shù)據(jù)提煉是將采集的數(shù)據(jù)轉(zhuǎn)化為有用信息的過程,常用到的技術(shù)有ETL。

ETL技術(shù):主要用來描述將數(shù)據(jù)從來源端經(jīng)過抽取(Extract)、轉(zhuǎn)換(Transform)、加載(Load)到目的端的過程。主要講網(wǎng)頁企業(yè)中的分散、凌亂、不統(tǒng)一的數(shù)據(jù)整合在一起,進行分析探索和決策。

數(shù)據(jù)提煉通常涉及以下幾個關(guān)鍵步驟:

  • 數(shù)據(jù)抽取:從無結(jié)構(gòu)或半結(jié)構(gòu)化的數(shù)據(jù)中提取關(guān)鍵信息,并將其組織成結(jié)構(gòu)化格式,便于機器理解和處理。
  • 數(shù)據(jù)加工:數(shù)據(jù)加工通常有字段映射、數(shù)據(jù)過濾、數(shù)據(jù)清洗、數(shù)據(jù)替換、數(shù)據(jù)計算、數(shù)據(jù)驗證、數(shù)據(jù)合并和數(shù)據(jù)拆分,移除或修正錯誤、重復或不完整的數(shù)據(jù),確保數(shù)據(jù)質(zhì)量的完整性。
  • 數(shù)據(jù)轉(zhuǎn)換:將數(shù)據(jù)轉(zhuǎn)換成適合分析的格式,例如通過歸一化或標準化數(shù)值,常用到有數(shù)據(jù)挖掘技術(shù)。

常用的一些ETL工具有三種:

  • DataStage:數(shù)據(jù)集成軟件平臺,專門針對多值數(shù)據(jù)源進行簡化和自動化,提供圖形框架用于轉(zhuǎn)換、清洗和加載數(shù)據(jù),能夠處理大型數(shù)據(jù)庫、關(guān)系數(shù)據(jù)和普通文件。
  • Informatica PowerCenter:企業(yè)級需求而設(shè)計的企業(yè)數(shù)據(jù)集成平臺,支持結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),提供豐富的數(shù)據(jù)轉(zhuǎn)換組件和工作流支持。
  • Kettle:開源的ETL工具,數(shù)據(jù)抽取高效穩(wěn)定,管理來自不同數(shù)據(jù)庫的數(shù)據(jù),提供圖形化的操作界面,支持工作流。

1.3 數(shù)據(jù)探索分析

數(shù)據(jù)探索分析可以分為數(shù)據(jù)分析和數(shù)據(jù)解釋。

  • 數(shù)據(jù)分析旨在發(fā)現(xiàn)數(shù)據(jù)中的規(guī)律、趨勢和關(guān)聯(lián)性,以支持和指導決策制定。常用到的方法有描述性分析(對數(shù)據(jù)的基本特征進行概括和描述)、回歸分析(用于研究變量之間的關(guān)系)、聚類分析(將數(shù)據(jù)進行分組)。
    關(guān)聯(lián)規(guī)則挖掘:發(fā)現(xiàn)不同數(shù)據(jù)項之間的關(guān)聯(lián)。
  • 數(shù)據(jù)解釋的主要工作是對提煉的數(shù)據(jù)采用人機交互方式將結(jié)果展示給用戶,為了更清晰有效地傳遞信息,通常會使用圖形和圖表,在視覺上更好地傳遞信息,有效的可視化可以幫助用戶分析和探索數(shù)據(jù),使復雜的數(shù)據(jù)更容易理解和使用。

2.數(shù)據(jù)獲取的方法和工具

網(wǎng)絡(luò)爬蟲是數(shù)據(jù)獲取的常用方法,和代理IP配合能保證數(shù)據(jù)采集的穩(wěn)定運行。市面上有許多代理IP,選擇通常有一套標準,不合格的代理可能導致爬蟲頻繁中斷和失敗等產(chǎn)生一系列問題,所以對于挑選可以參考以下幾個方面:

  • 試用服務(wù):不同的代理IP,通常有一定的試用服務(wù),可以通過測試對比代理的性能和適用性。
  • 用戶評價和反饋:代理IP服務(wù)于用戶,可以多查看其他用戶使用的評價和反饋,或者參考行業(yè)內(nèi)相關(guān)人士的評測和推薦。
  • 安全性和隱私保護:查看服務(wù)商的隱私政策,確保他們不會記錄你的活動數(shù)據(jù)。
  • IP池的規(guī)模和多樣性:擁有大規(guī)模和多樣化的IP池可以提供更好地覆蓋和較低的封禁風險。
  • 可靠性和穩(wěn)定性:通過試用檢查代理服務(wù)的運行時間和性能歷史記錄,確保它們能提供穩(wěn)定可靠的服務(wù)。
  • 專業(yè)的技術(shù)支持和服務(wù):查看對應(yīng)服務(wù)商的用戶手冊和資源,咨詢對應(yīng)客服,看是否提供良好的支持和服務(wù)。

剛好近期需要使用IP代理獲取數(shù)據(jù),通過不斷地了解,發(fā)現(xiàn)亮數(shù)據(jù)有許多用戶評價和反饋,好評眾多,因此,博主立馬進行了注冊,通過測試使用后,發(fā)現(xiàn)IP質(zhì)量特別好,工具也多,整體特別滿意,有興趣的可以試試 👉亮數(shù)據(jù)官網(wǎng)數(shù)據(jù)獲取。

2.1 數(shù)據(jù)解鎖器

數(shù)據(jù)解鎖器是一種繞過網(wǎng)絡(luò)限制或檢測,模擬真人訪問解鎖網(wǎng)站網(wǎng)站并抓取數(shù)據(jù)。它能完全模仿真人挖掘網(wǎng)頁數(shù)據(jù),擁有管理IP發(fā)送請求率、設(shè)置請求間隔、校準參照標頭、識別蜜罐陷阱、模仿真人和設(shè)備等功能。

解鎖器的優(yōu)點有:

  • 自動解鎖,自動重試。仿真瀏覽器指紋,解鎖各大網(wǎng)站,設(shè)置請求間隔不斷自動重試獲取數(shù)據(jù)。
  • 驗證碼解決方案。擁有多套方案,自動識別驗證碼中的字符或圖形,運用成熟的技術(shù)來處理驗證碼。
  • 應(yīng)對目標網(wǎng)站的更改。及時發(fā)現(xiàn)網(wǎng)站的更改情況,調(diào)整采集策略,確保隨時能正常獲取數(shù)據(jù)。
  • 選定域的結(jié)果解析和異步請求。在特定的領(lǐng)域范圍內(nèi),對結(jié)果進行深入解析和分析,并發(fā)起不同步的請求操作,不阻塞當前的執(zhí)行任務(wù),提高系統(tǒng)的并發(fā)處理能力和效率。

2.2 爬蟲瀏覽器

數(shù)據(jù)瀏覽器有很多,但大多都不夠?qū)I(yè),對網(wǎng)絡(luò)爬蟲抓取數(shù)據(jù)并沒有提供更多的幫助。但亮數(shù)據(jù)提供的爬蟲瀏覽器內(nèi)置網(wǎng)站解鎖功能,集成了亮網(wǎng)絡(luò)解鎖器自動化解鎖能力,并且自動管理所有網(wǎng)站深層解鎖操作,包括:驗證碼解決、瀏覽器指紋識別、自動重試和選擇標頭等。

爬蟲瀏覽器的亮點如下:

  • 解鎖最強大的網(wǎng)頁屏蔽。大規(guī)模抓取總是需要復雜的解鎖操作,亮數(shù)據(jù)瀏覽器后臺自動管理所有網(wǎng)站解鎖操作:CAPTCHA解決、瀏覽器指紋識別、自動重試、標頭選擇、cookie和Javascript渲染等,節(jié)省時間和資源。
  • 輕易繞過任何機器人檢測軟件。使用 AI 技術(shù),亮數(shù)據(jù)瀏覽器會不斷調(diào)整,自動學習繞過機器人檢測系統(tǒng),以真實用戶瀏覽器的形式出現(xiàn)在機器人檢測系統(tǒng)中,以實現(xiàn)比代理更高的解鎖成功率,告別屏蔽麻煩,節(jié)約成本。
  • 根據(jù)需要批量使用網(wǎng)絡(luò)抓取瀏覽器。亮數(shù)據(jù)瀏覽器托管在強大的可高度擴展的基礎(chǔ)架構(gòu)之上,這賦予你自由使用任何數(shù)量的瀏覽器來運行數(shù)據(jù)抓取項目的可能
  • 兼容Puppeteer, Playwright和Selenium。輕松調(diào)用API以獲取任意數(shù)量的瀏覽器會話,并使用Puppeteer (Python)、Playwright (Node.js)或Selenium與它們交互。非常適合需要網(wǎng)站交互來檢索數(shù)據(jù)的抓取項目,例如將鼠標懸停在頁面上、單擊按鈕、滾動、添加文本等。

2.3 數(shù)據(jù)洞察市場

數(shù)據(jù)洞察市場是一個利用數(shù)據(jù)分析為組織提供有價值見解的領(lǐng)域,它能快速地收集市場相關(guān)行業(yè)的數(shù)據(jù),通過不斷地對比和定位,發(fā)現(xiàn)潛在問題,指定合理更有效地方案,增強在市場上的競爭力。

最常見的一些指標和策略有:

  • 市場份額:收集同行業(yè)市場份額的相關(guān)數(shù)據(jù),分析自己的優(yōu)劣勢,并作出調(diào)整。
  • 價格優(yōu)化:收集對比各大平臺的產(chǎn)品價格,跟蹤同類產(chǎn)品不同季節(jié)時段的價格調(diào)整,優(yōu)化自己的價格,獲取利潤同時,保有競爭力。
  • 產(chǎn)品匹配:庫存匹配,以確保你能在物流備貨方面處于競爭優(yōu)勢。了解競品的庫存和已售數(shù)量,基于數(shù)據(jù)發(fā)現(xiàn)潛在熱品,靈活更新庫存減少成本壓力。
  • 高效運營:跟蹤所有 SKU 并自動識別庫存問題(缺貨)、促銷和低效活動、銷售額或利潤下降等來優(yōu)化運營,優(yōu)化生產(chǎn)。

只要清楚市場,才能知道需要什么數(shù)據(jù),站在市場角度,收集集成各大公眾平臺數(shù)據(jù),優(yōu)先進行分析和訓練,得出更好的市場洞察力。

3.完整案例分析:從數(shù)據(jù)采集到數(shù)據(jù)可視化

需求目標:以豆瓣網(wǎng)為例,獲取豆瓣讀書排行榜Top250(https://book.douban.com/top250)數(shù)據(jù),整合梳理有效信息,制作數(shù)據(jù)可視化報告。

3.1 直接按需定制數(shù)據(jù)集獲取數(shù)據(jù)

分析:在這里我們使用亮數(shù)據(jù)的“按需定制數(shù)據(jù)集”,根據(jù)自己的需要和使用場景定制自己的數(shù)據(jù)集。

  1. 進入到網(wǎng)絡(luò)數(shù)據(jù)采集頁面,選擇數(shù)據(jù)產(chǎn)品為“按需定制數(shù)據(jù)集”。
    image
  2. 點擊選擇自定義默認數(shù)據(jù)集,開始創(chuàng)建代理端口。
    image
  3. 填寫需要獲取的數(shù)據(jù)集名字、包含的內(nèi)容,查看豆瓣讀書排行榜Top250每頁分布,可得出每頁對應(yīng)的URL,依次填入,點擊下一頁。
    image
  4. 等待一定時間,我們可以查看獲取數(shù)據(jù)集的數(shù)據(jù)字典,其中,可以根據(jù)自己的需要可以添加、修改和刪除字段或者字段類型。
    image
  5. 確定表結(jié)構(gòu)沒有問題后,我們可以查看數(shù)據(jù)樣例,并且能導出CSV數(shù)據(jù)。
    image

可見,直接根據(jù)網(wǎng)址的提示進行操作,非??焖倬湍塬@取到自己想要的數(shù)據(jù)。

3.2 獲取IP代理,利用python爬取數(shù)據(jù)

眾所周知,爬蟲速度過快,頻繁訪問都會被封IP,怎么解決這個問題呢?再去換一臺設(shè)備?先不說數(shù)據(jù)是否同步,僅僅換個設(shè)備的成本就不低,這個時候就需要代理IP了,根據(jù)獲得的代理IP,直接在python的使用。

1)準備工作
導入本次需要用到的基本模塊,以下所有的執(zhí)行都在這基礎(chǔ)上運行。

from bs4 import BeautifulSoup # 用于解析HTML和XML文檔
import requests # 爬蟲庫
import re # 正則庫
import pandas as pd # 數(shù)據(jù)處理庫
import times # 防止爬取過快

進入到豆瓣網(wǎng)址,點擊不同的頁面,可以發(fā)現(xiàn)網(wǎng)址URL有如下:

# 第一頁
https://book.douban.com/top250?start=0
# 第二頁
https://book.douban.com/top250?start=25
# 第三頁
https://book.douban.com/top250?start=50

通過觀察可以發(fā)現(xiàn),URL后面參數(shù)是25的倍數(shù)變化,因此可以使用如下代碼替代:

# 設(shè)置翻頁for i in range(10):# 根據(jù)每一頁的URL規(guī)律定義url = 'https://book.douban.com/top250?start=' + str(i*25) + '&filter='print(url)

2)獲取網(wǎng)頁源碼數(shù)據(jù)

a. 在不使用任何代理情況下,直接模擬瀏覽器,添加請求頭,發(fā)起請求。

# 定義獲取源碼函數(shù)
def get_html_info1(url):# 請求頭headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}# 發(fā)起請求,返回響應(yīng)對象response = requests.get(url, headers=headers)# 解析網(wǎng)頁內(nèi)容soup = BeautifulSoup(response.text, 'html.parser')# 打印查看信息print(soup)return soup
# 使用該函數(shù)
get_html_info1("https://book.douban.com/top250?start=0")

多次請求后出現(xiàn)404!!!

b. 進一步優(yōu)化,在這里我從 亮數(shù)據(jù)官方網(wǎng)站中注冊獲取到的IP,我們使用它進行發(fā)起請求,獲取數(shù)據(jù)。

# 定義獲取源碼函數(shù)
def get_html_info2(url):# 請求頭headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}# 根據(jù)獲取到的IP,添加代理proxies = {'http': 'http://brd-customer-hl_93341477-zone-web_unlocker2:ke6rcbba1z0z@brd.superproxy.io:22225','https': 'http://brd-customer-hl_93341477-zone-web_unlocker2:ke6rcbba1z0z@brd.superproxy.io:22225'}# 發(fā)起請求,返回響應(yīng)對象response = requests.get(url, headers=headers,proxies=proxies)# 解析網(wǎng)頁內(nèi)容soup = BeautifulSoup(response.text, 'html.parser')# 打印查看信息print(soup)return soup
# 使用該函數(shù)
get_html_info2("https://book.douban.com/top250?start=0")

c. 繼續(xù)在亮數(shù)據(jù)中探索發(fā)現(xiàn),平臺的亮網(wǎng)絡(luò)解鎖器和亮數(shù)據(jù)解鎖器,只需要將所需要的URL放入,調(diào)整通道和地區(qū),爬蟲代碼無需修改直接可復用。

image

#!/usr/bin/env python
print('If you get error "ImportError: No module named \'six\'" install six:\n'+\'$ sudo pip install six');
print('To enable your free eval account and get CUSTOMER, YOURZONE and ' + \'YOURPASS, please contact sales@brightdata.com')
import sys
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
if sys.version_info[0]==2:import sixfrom six.moves.urllib import requestopener = request.build_opener(request.ProxyHandler({'http': 'http://brd-customer-hl_93341477-zone-web_unlocker2:ke6rcbba1z0z@brd.superproxy.io:22225','https': 'http://brd-customer-hl_93341477-zone-web_unlocker2:ke6rcbba1z0z@brd.superproxy.io:22225'}))print(opener.open('https://book.douban.com/top250?start=0').read())
if sys.version_info[0]==3:import urllib.requestopener = urllib.request.build_opener(urllib.request.ProxyHandler({'http': 'http://brd-customer-hl_93341477-zone-web_unlocker2:ke6rcbba1z0z@brd.superproxy.io:22225','https': 'http://brd-customer-hl_93341477-zone-web_unlocker2:ke6rcbba1z0z@brd.superproxy.io:22225'}))print(opener.open('https://book.douban.com/top250?start=0').read())

在Pycharm中可以使用示例代碼直接爬取源碼,不用自己調(diào)整任何東西。爬取的源碼通常還不能直接使用,需要進一步進行提煉。
image

可以發(fā)現(xiàn)b和c兩部分獲取數(shù)據(jù)非常穩(wěn)定,未出現(xiàn)異常情況,代理IP

2)數(shù)據(jù)提煉

首先,打開開發(fā)者工具查看HTML源碼,聚焦選中要定位的元素,可以發(fā)現(xiàn)書本信息集中在<div,class="indent"><table></table></div>標簽中;
image
image
其次,較為復雜的是出版相關(guān)的信息,數(shù)據(jù)有"余華 / 作家出版社 / 2012-8 / 20.00元"、“[英] 阿·柯南道爾 / 丁鐘華 等 / 群眾出版社 / 1981-8 / 53.00元/68.00元”、“少年兒童出版社 / 1962 / 30.00元”,存在著作者和譯者兩者其一或都無情況,因此,對數(shù)據(jù)進行分割時需要分情況處理。創(chuàng)建一個get_data函數(shù)用于提煉數(shù)據(jù),如下:

def get_data(soup,data_list):# 獲取<div,class="indent"><table></table></div>標簽中所有的圖書信息book_list = soup.find('div', class_='indent').find_all('table')# 遍歷圖書列表for book in book_list:# 書名:根據(jù)<div,class='pl2'><a></a></div>標簽提取信息title = book.find('div', class_='pl2').find('a')['title']# 評分:根據(jù)<span,class='rating_nums'></span>標簽提取信息rating = book.find('span', class_='rating_nums').text# 評價人數(shù):根據(jù)<span,class='pl'></span>標簽提取信息,正則出需要的數(shù)量comment_count = re.search(r'\d+', book.find('span', class_='pl').text).group()# 推薦語:根據(jù)<span,class='inq'></span>標簽提取信息,如果沒有則賦空quote = book.find('span', class_='inq').text if book.find('span', class_='inq') else None# 書本出版相關(guān)信息:根據(jù)<p,class='pl'></span>標簽提取信息publisher_info = book.find('p', class_='pl').text# 作者和譯者:并不是所有的圖書都有,因此需要根據(jù)實際信息分情況處理if publisher_info.count(' / ') == 4:author = publisher_info.split(' / ')[-5].strip()translator = publisher_info.split(' / ')[-4].strip()elif publisher_info.count(' / ') == 2:author = Nonetranslator = Noneelse:author = publisher_info.split(' / ')[-4].strip()translator = None# 出版社:根據(jù)提取的出版信息分隔符提取publisher = publisher_info.split(' / ')[-3].strip()# 定價:由于定價存在多種情況,根據(jù)提取的出版信息分隔符和正則匹配信息price = re.sub(r'(元)|(CNY\s)|(NT\$)', '', publisher_info.split(' / ')[-1].strip())# 出版年year = publisher_info.split(' / ')[-2].strip().split('-')[0]# 書本鏈接book_link = book.find('a')['href']# 封面圖片鏈接img_link = book.find('a').find('img')['src']# 打印查看每次獲取提煉的信息print({'書名': title, '評分': rating, '評價人數(shù)': comment_count, '推薦語': quote, '作者': author, '譯者': translator, '出版社': publisher, '出版年': year, '定價': price, '書本鏈接': book_link, '封面圖片鏈接': img_link})# 將獲取的信息合并追加data_list.append({'書名': title, '評分': rating, '評價人數(shù)': comment_count, '推薦語': quote, '作者': author, '譯者': translator, '出版社': publisher, '出版年': year, '定價': price, '書本鏈接': book_link, '封面圖片鏈接': img_link})return data_list
# 使用get_html_info1函數(shù)獲取HTML源碼
get_html_info1("https://book.douban.com/top250?start=0")
# 使用get_data函數(shù)提煉數(shù)據(jù)
get_data(soup,data_list)

執(zhí)行查看打印結(jié)果如下:
image

3)數(shù)據(jù)導出

數(shù)據(jù)提煉完成,我們常常需要保存數(shù)據(jù)或者數(shù)據(jù)入庫,方便查看和其他工具調(diào)用,因此,定義數(shù)據(jù)導出函數(shù)如下:

# 定義數(shù)據(jù)導出CSV函數(shù)
def data_to_csv(data_list):# 創(chuàng)建DataFrame對象df = pd.DataFrame(data_list)# 保存為CSV文件df.to_csv('douban_dushu.csv',index=False)

使用數(shù)據(jù)導出函數(shù),并且查看數(shù)據(jù),可以發(fā)現(xiàn)總共獲取了11列250行數(shù)據(jù)。
image

3.3 數(shù)據(jù)可視化

數(shù)據(jù)可視化又可以稱為數(shù)據(jù)解釋,主要工作是對數(shù)據(jù)進行處理,將結(jié)果更直觀地展現(xiàn),使復雜的數(shù)據(jù)更容易理解和使用,在本節(jié)中做基本的演示。

1)準備工作

導入數(shù)據(jù)可視化用到的基本庫,讀取提取到的數(shù)據(jù)。

import pandas as pd
from pyecharts import options as opts
from pyecharts.options import ComponentTitleOpts
from pyecharts.charts import Bar, Line # 繪制條形圖和線圖
from pyecharts.charts import TreeMap # 繪制樹形圖
from pyecharts.components import Table # 繪制表格
df = pd.read_csv('douban_dushu.csv') # 讀取提煉的數(shù)據(jù)

2)做明細表

根據(jù)提煉的數(shù)據(jù),明細表可以幫助用戶高效地查看、編輯和分析詳細的數(shù)據(jù)信息,便于查看和發(fā)現(xiàn)問題,圖書詳情盡在掌握。

table = Table()
headers = df.columns.tolist() # 表列表
rows = [list(row) for row in df.values] # 數(shù)據(jù)列表
table.add(headers, rows) # 表單中添加表頭和數(shù)據(jù)
table.set_global_opts(title_opts=ComponentTitleOpts(title="豆瓣讀書Top205明細") # 添加標題
)
table.render("豆瓣讀書Top205明細.html") # 導出HTML查看

image

3)繪制柱形圖

柱形圖能更直觀地查看和對比不同年份出版的圖書情況,因此,我們進一步繪制查看讀書Top250中出版年的圖書數(shù)量變化。

year_counts = df['出版年'].value_counts() # 根據(jù)出版年份統(tǒng)計圖書數(shù)量
year_counts.columns = ['出版年', '數(shù)量'] # 匯總的數(shù)據(jù)定義列名
year_counts = year_counts.sort_index() # 根據(jù)數(shù)量排序
c = (Bar().add_xaxis(list(year_counts.index)).add_yaxis('圖書數(shù)量', year_counts.values.tolist()).set_global_opts(title_opts=opts.TitleOpts(title='各年份圖書數(shù)量'), # 標題yaxis_opts=opts.AxisOpts(name='數(shù)量'), # y軸xaxis_opts=opts.AxisOpts(name='出版年'), # x軸datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_='inside')],) # 數(shù)據(jù)顯示位置.render('各年份圖書數(shù)量.html'))

image

4)繪制矩形樹形圖

我們可以使用矩形樹形圖查看不同的出版社出版圖書的分布情況。

publisher = df['出版社'].value_counts() # 根據(jù)出版社統(tǒng)計圖書數(shù)量
output_list = [{"value": value, "name": name} for name, value in publisher.items()] # 轉(zhuǎn)化為列表嵌套字段形式
c = (TreeMap().add("", output_list).set_global_opts(title_opts=opts.TitleOpts(title="出版社分析")).render("出版社分析.html")
)

image

4)繪制組合圖

通過明細數(shù)據(jù)可以看到,圖書有評分和評價人數(shù),進一步分析三種的數(shù)據(jù)情況,在這里我們繪制組合圖統(tǒng)一展示:

# 創(chuàng)建bar對象,并制定畫布大小
bar = Bar(init_opts=opts.InitOpts(width='1200px',height='300px'))
# 將數(shù)據(jù)根據(jù)評分、評價人數(shù)、書名進行升序排列
df3 = df.sort_values(by=['評分','評價人數(shù)','書名'],ascending=False) 
# 依次將排名前十的三列數(shù)據(jù)拿出
x_data = df3['書名'].tolist()[:10]
rating = df3['評分'].tolist()[:10]
comment_count = df3['評價人數(shù)'].tolist()[:10]
# 柱形圖設(shè)置
bar = (Bar().add_xaxis(x_data) # x軸.add_yaxis(  # y軸系列數(shù)據(jù)series_name="評價人數(shù)",y_axis=comment_count,yaxis_index=0,z=0,color="#d14a61",bar_width=40,       ).extend_axis( # 擴展的y軸系列參數(shù)配置yaxis=opts.AxisOpts(type_="value", name="評分",    name_gap=30,      min_=0,      max_=10,axislabel_opts=opts.LabelOpts(font_size=15),    axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color="black")   ),splitline_opts=opts.SplitLineOpts(           is_show=True, linestyle_opts=opts.LineStyleOpts(opacity=1)   ),)).set_global_opts(  # y軸系列參數(shù)配置                            yaxis_opts=opts.AxisOpts(                  name="評價人數(shù)",                     name_gap=60,                           min_=0,                                max_=500000,            interval=50000,                              axislabel_opts=opts.LabelOpts(font_size=14),                          axisline_opts=opts.AxisLineOpts(                                    linestyle_opts=opts.LineStyleOpts(color="blank")),),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),title_opts=opts.TitleOpts(title="豆瓣讀書前十評分和評價人數(shù)",pos_left="center",pos_top="top"),legend_opts=opts.LegendOpts(pos_left='40%',pos_bottom='89%'),tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),)
)
# 折線圖設(shè)置
line = (Line().add_xaxis(x_data).add_yaxis(series_name="評分", y_axis=rating,symbol='triangle',symbol_size=15,yaxis_index=1,    color="#aa00ff",label_opts=opts.LabelOpts(is_show=False, font_size=10,font_weight='bold'),linestyle_opts=opts.LineStyleOpts(width=3)  )
)
bar.overlap(line).render("豆瓣讀書前十評分和評價人數(shù).html")

image

常見的數(shù)據(jù)可視化工具主要分為三類:底層程序框架;第三方庫;軟件工具。在這里使用的是第三方庫,主要是使用Python的pyecharts進行了制作,如果想了解更多,可以前往pyecharts官網(wǎng),當然也可以通過其他軟件工具實現(xiàn),如Tableau、PowerBI等。

4.總結(jié)

本文通過基本的案例,介紹了數(shù)據(jù)分析的基本流程,了解的各部分的職責。數(shù)據(jù)分析和可視化其實不難,主要是開頭難,大多數(shù)人常常止步于數(shù)據(jù)采集,常因采集不到自己所需要的數(shù)據(jù)而懊惱或者放棄,
因此本文給大家介紹了數(shù)據(jù)獲取的基本方法和可用的工具(亮 數(shù) 據(jù) 官 網(wǎng)),希望對大家有所幫助,能有更多的時間用于分析,得出有價值的信息,利用數(shù)據(jù)更好的驅(qū)動決策。

http://www.risenshineclean.com/news/59972.html

相關(guān)文章:

  • seo網(wǎng)站收錄工具中國工商業(yè)聯(lián)合會
  • 北京網(wǎng)站建設(shè)公最近軍事新聞熱點大事件
  • 網(wǎng)站只做靜態(tài)頁面安全受到影響蘭州seo整站優(yōu)化服務(wù)商
  • 青島網(wǎng)站設(shè)計客服人民日報官網(wǎng)
  • 網(wǎng)站用戶投稿怎么做有哪些實用的網(wǎng)絡(luò)推廣方法
  • 中國供應(yīng)商網(wǎng)做網(wǎng)站qq代刷網(wǎng)站推廣免費
  • 佛山響應(yīng)式網(wǎng)站開發(fā)深圳seo優(yōu)化公司
  • 自己做網(wǎng)站如何盈利世界杯球隊最新排名
  • 購物網(wǎng)站 系統(tǒng)設(shè)計seo整站優(yōu)化什么價格
  • wordpress配置教程網(wǎng)站優(yōu)化快速排名軟件
  • 好的網(wǎng)站設(shè)計模板廣州seo網(wǎng)站開發(fā)
  • 中電建鐵路建設(shè)公司網(wǎng)站查網(wǎng)址
  • 宜昌 醫(yī)院 網(wǎng)站建設(shè)seo排名優(yōu)化推廣教程
  • 網(wǎng)站建設(shè)單位不給數(shù)據(jù)庫google推廣教程
  • 防城港北京網(wǎng)站建設(shè)廣州權(quán)威發(fā)布
  • 安陽做網(wǎng)站公司廣州今天剛剛發(fā)生的重大新聞
  • 網(wǎng)站背景視頻是怎么做的新聞聯(lián)播今日新聞
  • 網(wǎng)站建設(shè)叫什么軟件seo優(yōu)化費用
  • wordpress toc長沙seo優(yōu)化哪家好
  • 貴陽做網(wǎng)站好的公司有哪些今天的新聞 最新消息
  • wordpress 空兩格沈陽seo優(yōu)化排名公司
  • 今日上海大事件網(wǎng)站seo關(guān)鍵詞設(shè)置
  • 誰家的網(wǎng)站做的比較好色盲測試圖片60張
  • 集團網(wǎng)站建設(shè)新聞seo長尾關(guān)鍵詞排名
  • 有哪些公司的網(wǎng)站做的比較好公眾號如何推廣運營
  • 青島找網(wǎng)站建設(shè)公司好5000元網(wǎng)站seo推廣
  • b2c商城網(wǎng)站常用的搜索引擎有哪些
  • 高端建筑物圖片紹興百度seo
  • 寧波男科醫(yī)院哪家好哈爾濱優(yōu)化網(wǎng)站公司
  • 廣東網(wǎng)站建設(shè)怎么選網(wǎng)站優(yōu)化策劃書