新浪財經股票每天10點自動爬取

老規矩還是先分好三步,獲取數據,解析數據,存儲數據

因為股票是實時的,所以要加個cookie值,最好分線程或者爬取數據時等待爬取,不然會封ip

廢話不多數,直接上代碼

import matplotlib
import requests
import time
import schedule
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import rcParams
matplotlib.use('TkAgg')
def get_xinlang_data():headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Mobile Safari/537.36 Edg/134.0.0.0','Referer': 'https://vip.stock.finance.sina.com.cn/mkt/','Cookie': 'UOR=cn.bing.com,k.sina.com.cn,; SINAGLOBAL=118.254.108.55_1712628055.839346; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%22192dc63c23a4cc-0d88f469598c1d8-4c657b58-1327104-192dc63c23b16f0%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E5%BC%95%E8%8D%90%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC%22%2C%22%24latest_referrer%22%3A%22https%3A%2F%2Fwww.nowcoder.com%2F%22%7D%2C%22identities%22%3A%22eyIkaWRlbnRpdHlfY29va2llX2lkIjoiMTkyZGM2M2MyM2E0Y2MtMGQ4OGY0Njk1OThjMWQ4LTRjNjU3YjU4LTEzMjcxMDQtMTkyZGM2M2MyM2IxNmYwIn0%3D%22%2C%22history_login_id%22%3A%7B%22name%22%3A%22%22%2C%22value%22%3A%22%22%7D%2C%22%24device_id%22%3A%22192dc63c23a4cc-0d88f469598c1d8-4c657b58-1327104-192dc63c23b16f0%22%7D; SFA_version8.9.0=2025-03-19%2019%3A06; SR_SEL=1_511; vjuids=-7b64b517d.195ae26e9d8.0.8336211e80edc; vjlast=1742383541; FIN_ALL_VISITED=sh600519%2Csh600010; FINA_V_S_2=sh600519,sh600010; SGUID=1742386149579_47511117; _clck=xb0ipd%7C2%7Cfuc%7C0%7C1904; SFA_version8.10.0=2025-04-04%2010%3A09; Apache=175.2.169.138_1743732843.387460; SFA_version8.10.0_click=1; hqEtagMode=1; ULV=1743732861648:8:2:2:175.2.169.138_1743732843.387460:1743732842772; rotatecount=2'}all_data = []for page in range(1, 14):url = f'https://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHKStockData?page={page}&num=40&sort=symbol&asc=1&node=sgt_hk&_s_r_a=page'response = requests.get(url, headers=headers)# 檢查請求是否成功response.raise_for_status()data = response.json()all_data.extend(data)# 將數據轉換為 DataFramedf = pd.DataFrame(all_data)print(df)# 保存數據到 CSV 文件df.to_csv('xinlang.csv', index=False, encoding='utf-8')print(f'Data saved to xinlang.csv')
def job():print('Fetching and saving data...')get_xinlang_data()# 繪制圖形
def draw():# 讀取 CSV 文件df = pd.read_csv('xinlang.csv')# 設置圖形大小plt.figure(figsize=(14, 8))# 設置支持中文的字體rcParams['font.sans-serif'] = ['SimHei']  # 或 'Noto Sans CJK SC'rcParams['axes.unicode_minus'] = False  # 解決負號顯示問題# 繪制 changepercentplt.subplot(2, 2, 1)plt.bar(df['name'], df['changepercent'], color='blue')plt.title('Change Percent')plt.xlabel('Stock Name')plt.ylabel('Change Percent')plt.xticks(rotation=90)plt.tight_layout()# 繪制 buyplt.subplot(2, 2, 2)plt.bar(df['name'], df['buy'], color='green')plt.title('Buy Volume')plt.xlabel('Stock Name')plt.ylabel('Buy Volume')plt.xticks(rotation=90)plt.tight_layout()# 顯示圖形plt.show()
if __name__ == "__main__":job()draw()## 設置定時任務,每天10點進行爬取
schedule.every().day.at("10:00").do(job)# 實現任務定時調度while True:schedule.run_pending()time.sleep(1)

注意:繪制那兒有點問題,我還沒弄懂繪制圖形怎么弄的,所以大家可以把draw函數先屏蔽掉,或者有人會的話可以評論指導一下。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/75539.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/75539.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/75539.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用Android 原生LocationManager獲取經緯度

一、常用方案 1、使用LocationManager GPS和網絡定位 缺點:個別設備,室內或者地下停車場獲取不到gps定位,故需要和網絡定位相結合使用 2、使用Google Play服務 這種方案需要Android手機中有安裝谷歌服務,然后導入谷歌的第三方庫: 例如:i…

驗證碼實現

驗證碼案例 學了Spring MVC ,配置 相關章節, 現可以嘗試寫一個前后端交互的驗證碼 文章目錄 驗證碼案例前言一、驗證碼是什么?二、需求1.引入依賴2.導入前端頁面3.約定前后段交互接口 三、代碼解析Controllermodelapplication.xml 四丶結果五…

查詢當前用戶的購物車和清空購物車

業務需求&#xff1a; 在小程序用戶端購物車頁面能查到當前用戶的所有菜品或者套餐 代碼實現 controller層 GetMapping("/list")public Result<List<ShoppingCart>> list(){List<ShoppingCart> list shoppingCartService.shopShoppingCart();r…

(多看) CExercise_05_1函數_1.2計算base的exponent次冪

題目&#xff1a; 鍵盤錄入兩個整數&#xff1a;底(base)和冪指數(exponent)&#xff0c;計算base的exponent次冪&#xff0c;并打印輸出對應的結果。&#xff08;注意底和冪指數都可能是負數&#xff09; 提示&#xff1a;求冪運算時&#xff0c;基礎的思路就是先無腦把指數轉…

【nacos安裝指南】

Nacos安裝指南 1.Windows安裝 開發階段采用單機安裝即可。 1.1.下載安裝包 在Nacos的GitHub頁面&#xff0c;提供有下載鏈接&#xff0c;可以下載編譯好的Nacos服務端或者源代碼&#xff1a; GitHub主頁&#xff1a;https://github.com/alibaba/nacos GitHub的Release下載…

通過發音學英語單詞:從音到形的學習方法

&#x1f4cc; 通過發音學英語單詞&#xff1a;從音到形的學習方法 英語是一種 表音語言&#xff08;phonetic language&#xff09;&#xff0c;但不像拼音文字&#xff08;如漢語拼音、西班牙語等&#xff09;那么規則&#xff0c;而是 部分表音部分表意。這意味著我們可以通…

列表某個字段由多個值組成,使用id匹配展示

說明&#xff1a;列表中字段A的值由多個值組成&#xff0c;但是后端返回的是這多個值的id字符串&#xff0c;需要前端拿著多個id組成的字符串去另一個接口數據源匹配展示 列表后端返回多個字符串如下&#xff1a; sectorName: "1899292545382895618,1907311191514636289…

MQL5教程 05 指標開發實戰:雙色線、雙線變色MACD、跨時間周期均線

文章目錄 一、雙色線指標二、雙線變色MACD指標三、跨時間周期均線 一、雙色線指標 這里的類型中&#xff0c;Color開頭的&#xff0c;是可以選擇多個顏色的。 #property indicator_chart_window #property indicator_buffers 18 #property indicator_plots 7 //--- plot xian…

Java全棧面試寶典:線程安全機制與Spring Boot核心原理深度解析

目錄 一、Java線程安全核心原理 &#x1f525; 問題1&#xff1a;線程安全的三要素與解決方案 線程安全風險模型 線程安全三要素 synchronized解決方案 &#x1f525; 問題2&#xff1a;synchronized底層實現全解析 對象內存布局 Mark Word結構&#xff08;64位系統&…

【Cursor】設置語言

Ctrl Shift P 搜索 configure display language選擇“中文-簡體”

【新能源汽車整車動力學模型深度解析:面向MATLAB/Simulink仿真測試工程師的硬核指南】

1. 前言 作為MATLAB/Simulink仿真測試工程師,掌握新能源汽車整車動力學模型的構建方法和實現技巧至關重要。本文將提供一份6000+字的深度技術解析,涵蓋從基礎理論到Simulink實現的完整流程。內容經過算法優化設計,包含12個核心方程、6大模塊實現和3種驗證方法,滿足SEO流量…

Java 線程池與 Kotlin 協程 高階學習

以下是Java 線程池與 Kotlin 協程 高階學習的對比指南&#xff0c;結合具體代碼示例&#xff0c;展示兩者在異步任務處理中的差異和 Kotlin 的簡化優勢&#xff1a; 分析&#xff1a; 首先&#xff0c;我們需要回憶Java中線程池的常見用法&#xff0c;比如通過ExecutorService創…

嵌入式EMC設計面試題及參考答案

目錄 解釋 EMC(電磁兼容性)的定義及其兩個核心方面(EMI 和 EMS) 電磁兼容三要素及相互關系 為什么產品必須進行 EMC 設計?列舉至少三個實際工程原因 分貝(dB)在 EMC 測試中的作用是什么?為何采用對數單位描述干擾強度? 傳導干擾與輻射干擾的本質區別及典型頻率范圍…

實操(進程狀態,R/S/D/T/t/X/Z)Linux

1 R 狀態并不直接代表進程在運行&#xff0c;而是該進程在運行隊列中進行排隊&#xff0c;由操作系統在內存維護的隊列 #include <stdio.h> #include <unistd.h>int main() {while(1){printf("我在運行嗎\n");sleep(1);}return 0; }查看狀態&#xff08…

React 文件上傳新玩法:Aliyun OSS 加持的智能上傳組件

文件上傳是前端開發中的“老朋友”&#xff0c;但如何讓它既簡單又強大&#xff0c;還能無縫對接云端存儲&#xff1f;今天&#xff0c;我要帶你認識一個超酷的 React 組件 AliUploader&#xff0c;它不僅支持拖拽上傳、批量編輯和文件排序&#xff0c;還直接把文件傳到 Aliyun…

LabVIEW多線程

在 LabVIEW 中&#xff0c;多線程編程是提升程序執行效率的關鍵手段&#xff0c;尤其是在需要并行處理數據采集、控制執行和用戶界面交互的場景下。LabVIEW 本身是基于數據流&#xff08;Dataflow&#xff09;的編程語言&#xff0c;天然支持多線程&#xff0c;但要高效利用多線…

圖解AUTOSAR_SWS_LINStateManager

AUTOSAR LIN狀態管理器(LinSM)詳細設計 文檔摘要 本文檔提供了AUTOSAR LIN狀態管理器(LinSM)模塊的詳細設計解析,包括架構、狀態機、睡眠喚醒流程以及配置結構。通過圖形化方式展現LinSM在AUTOSAR通信棧中的作用及其與其他模塊的交互關系。 目錄 AUTOSAR LIN狀態管理器(Lin…

python+form+opengl顯示動態圖形數據

說明&#xff1a; pythonformopengl顯示動態圖形數據 我希望做一款動態opengl圖形數據 1.用python腳本&#xff0c;輸入指定參數 2.生成一組數據&#xff0c; 3.將數據保持成本地文件 4.在c#中調用此文件&#xff0c;解析 5.將數據用opengl展示 效果圖: step1:添加依賴 C:\U…

Android Gradle、Android Gradle Plugin、BuildTool關系

1. Gradle 的定位&#xff1a;通用構建工具 Gradle 是一個通用的跨平臺構建工具&#xff0c;支持多種語言&#xff08;如 Java、Kotlin、C&#xff09;和項目類型 它的核心功能包括&#xff1a; ?任務自動化&#xff1a;通過 Groovy/Kotlin DSL 腳本定義編譯、測試、打包等…

DHCP之報文格式

字段說明&#xff1a; op (op code): 表示報文的類型&#xff0c;取值為 1 或 2&#xff0c;含義如下 1:客戶端請求報 2:服務器響應報文 Secs (seconds):由客戶端填充&#xff0c;表示從客戶端開始獲得 IP 地址或 IP 地址續借后所使用了的秒數&#xff0c;缺省值為 3600s。 F…