• <xmp id="4g4m2"><menu id="4g4m2"></menu><menu id="4g4m2"><strong id="4g4m2"></strong></menu>
    <xmp id="4g4m2">
  • <menu id="4g4m2"></menu>
  • <dd id="4g4m2"></dd>
  • 只發布交易干貨的網站
    用實戰期貨交易系統和心得助你重塑交易認知

    正規期貨開戶 | 手續費只+1分

    90%交易者的手續費都被加收超1倍,一起看看最新的交易所手續費一覽表吧!

    爬蟲采集東方財富股票人氣榜數據(下)

    目前學習資料最多的爬蟲框架(工具)主要有以下幾個:

    1.Scrapy

    Scrapy是適用于Python的一個快速、高層次的屏幕抓取和web抓取框架,用于抓取web站點并從頁面中提取結構化的數據。

    Scrapy用途廣泛,可以用于數據挖掘、監測和自動化測試。其吸引人的地方在于它是一個框架,任何人都可以根據需求方便的修改。

    Scrapy主要包括了以下組件:

    • 引擎(Scrapy): 用來處理整個系統的數據流處理, 觸發事務(框架核心)
    • 調度器(Scheduler): 用來接受引擎發過來的請求, 壓入隊列中, 并在引擎再次請求的時候返回. 可以想像成一個URL(抓取網頁的網址或者說是鏈接)的優先隊列, 由它來決定下一個要抓取的網址是什么, 同時去除重復的網址
    • 下載器(Downloader): 用于下載網頁內容, 并將網頁內容返回給蜘蛛(Scrapy下載器是建立在twisted這個高效的異步模型上的)
    • 爬蟲(Spiders): 爬蟲是主要干活的, 用于從特定的網頁中提取自己需要的信息, 即所謂的實體(Item)。用戶也可以從中提取出鏈接,讓Scrapy繼續抓取下一個頁面
    • 項目管道(Pipeline): 負責處理爬蟲從網頁中抽取的實體,主要的功能是持久化實體、驗證實體的有效性、清除不需要的信息。當頁面被爬蟲解析后,將被發送到項目管道,并經過幾個特定的次序處理數據。
    • 下載器中間件(Downloader Middlewares): 位于Scrapy引擎和下載器之間的框架,主要是處理Scrapy引擎與下載器之間的請求及響應。
    • 爬蟲中間件(Spider Middlewares): 介于Scrapy引擎和爬蟲之間的框架,主要工作是處理蜘蛛的響應輸入和請求輸出。
    • 調度中間件(Scheduler Middewares): 介于Scrapy引擎和調度之間的中間件,從Scrapy引擎發送到調度的請求和響應。

    2.PySpider

    PySpider是binux做的一個爬蟲架構的開源化實現。主要的功能是:

    • 抓取、更新調度多站點的特定的頁面
    • 需要對頁面進行結構化信息提取
    • 靈活可擴展,穩定可監控

    而這也是絕大多數python爬蟲的需求 —— 定向抓取,結構化解析。但是面對結構迥異的各種網站,單一的抓取模式并不一定能滿足,靈活地抓取控制是必須的。為了達到這個目的,單純的配置文件往往不夠靈活,于是,通過腳本去控制抓取是最后的選擇。

    而去重調度,隊列,抓取,異常處理,監控等功能作為框架,提供給抓取腳本,并保證靈活性。最后加上web的編輯調試環境,以及web任務監控,即成為了這套框架。

    3.Requests

    Requests的宣傳語:“Requests是一個優雅而簡單的 Python HTTP 庫,專為人類構建。”,看上去就很強大。

    主要的功能是:

    • 保持活動和連接池
    • 國際域名和 URL
    • 具有 Cookie 持久性的會話
    • 瀏覽器 SSL 驗證
    • 自動內容解碼
    • 基本/摘要認證
    • 優雅的鍵/值 Cookie
    • 自動減壓
    • Unicode 響應體
    • HTTP(S) 代理支持
    • 多部分文件上傳
    • 流式下載
    • 連接超時
    • 分塊請求
    • .netrc支持

    4.Selenium

    嚴格說來,Selenium是一套完整的Web應用程序測試系統,它包含了測試的錄制(Selenium IDE)、編寫及運行(Selenium Remote Control)和測試的并行處理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript編寫,因此可運行于任何支持JavaScript的瀏覽器上。Selenium Core由一種指定格式的HTML文件驅動,在一定程度上增強了測試套件(Test Suite)的可讀性。Selenium Remote Control允許測試人員使用常見的語言(自然包括C#等.NET語言)編寫測試代碼,并支持不同操作系統下的各種主流瀏覽器。Selenium Grid的作用是將測試分發至多臺機器,這樣便可大大加快測試速度。與WatiN相同,Selenium也是一款同樣使用Apache License 2.0協議發布的開源框架。

    5.DrissionPage

    合并Requests和Selenium兩者的大部分功能,還以網頁為單位封裝了常用功能,簡化了 Selenium的操作和語句,在用于網頁自動化操作時,減少考慮細節,專注功能實現,使用更方便。一切從簡,盡量提供簡單直接的使用方法,對新手更友好。

    特性

    • 代碼高度集成,以簡潔的代碼為第一追求。
    • 頁面對象可在 RequestsSelenium模式間任意切換,保留登錄狀態。
    • 極簡單但強大的元素定位語法,支持鏈式操作,代碼極其簡潔。
    • 兩種模式提供一致的選擇 API,使用體驗一致。
    • 人性化設計,集成眾多實用功能,大大降低開發工作量。

    綜上,Scrapy和PySpider構建系統性的數據采集比較好,而我們只是單一的獲取幾個單一的股票數據,從初學者的角度出發還是選用Selenium來實現需求。

    一、安裝Selenium

    pip install selenium

    二、選擇瀏覽器驅動

    Selenium 自己不帶瀏覽器,不支持瀏覽器的功能,它需要與第三方瀏覽器結合在一起才能使用,這里我們選擇谷歌瀏覽器驅動。下載地址:http://chromedriver.storage.googleapis.com/index.html。注意下載與自己電腦安裝的谷歌瀏覽器相同的版本,并配置環境變量。

    爬蟲采集東方財富股票人氣榜數據(下)爬蟲采集東方財富股票人氣榜數據(下)

    三、獲取個股人氣榜數據

    # -*- coding: utf-8 -*-
    from selenium import webdriver

    browser = webdriver.Chrome()
    browser.get('http://guba.eastmoney.com/rank/')
    print(browser.page_source) # browser.page_source是獲取網頁的全部html
    browser.close()
    爬蟲采集東方財富股票人氣榜數據(下)

    來源:生活資訊網

    本文名稱:《爬蟲采集東方財富股票人氣榜數據(下)》
    本文鏈接:http://www.wuhansb.com/gu/55989.html
    免責聲明:投資有風險!入市需謹慎!本站內容均由用戶自發貢獻,或整編自互聯網,或AI編輯完成,因此對于內容真實性不能作任何類型的保證!請自行判斷內容真假!但是如您發現有涉嫌:抄襲侵權、違法違規、疑似詐騙、虛假不良等內容,請通過底部“聯系&建議”通道,及時與本站聯系,本站始終秉持積極配合態度處理各類問題,因此在收到郵件后,必會刪除相應內容!另外,如需做其他配合工作,如:設置相關詞匯屏蔽等,均可配合完成,以防止后續出現此類內容。生活不易,還請手下留情!由衷希望大家能多多理解,在此先謝過大家了~

    我要說說 搶沙發

    評論前必須登錄!

    立即登錄   注冊

    切換注冊

    登錄

    忘記密碼 ?

    切換登錄

    注冊

    我們將發送一封驗證郵件至你的郵箱, 請正確填寫以完成賬號注冊和激活

    簧色带三级