国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

利用Python和Selenium獲取雪球網(wǎng)滬深上市公司日k線走勢圖

這篇具有很好參考價值的文章主要介紹了利用Python和Selenium獲取雪球網(wǎng)滬深上市公司日k線走勢圖。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文介紹作者如何爬取雪球網(wǎng)(https://xueqiu.com/)滬深股市滬深一覽中的上市公司日k線走勢圖并截圖保存至本地~

歡迎關(guān)注作者公眾號,追蹤更多更新更有價值的內(nèi)容。

利用Python和Selenium獲取雪球網(wǎng)滬深上市公司日k線走勢圖,爬蟲,python,測試基礎(chǔ),python,selenium,爬蟲,網(wǎng)絡(luò)爬蟲,自動化,beautifulsoup,pip

一、前言

1.1 項目介紹

項目用于獲取雪球網(wǎng)滬深股市滬深一覽列表中(圖1)上市公司的日K線圖(圖2)。

利用Python和Selenium獲取雪球網(wǎng)滬深上市公司日k線走勢圖,爬蟲,python,測試基礎(chǔ),python,selenium,爬蟲,網(wǎng)絡(luò)爬蟲,自動化,beautifulsoup,pip

圖1 滬深股市-滬深一覽

利用Python和Selenium獲取雪球網(wǎng)滬深上市公司日k線走勢圖,爬蟲,python,測試基礎(chǔ),python,selenium,爬蟲,網(wǎng)絡(luò)爬蟲,自動化,beautifulsoup,pip

圖2?日K圖

以便從中獲取走勢向上的公司股票。

1.2 項目地址

項目gitee地址:https://gitee.com/shawn_chen_rtz/stock_daily_trend.git

1.3 環(huán)境準(zhǔn)備

需要安裝依賴requests、selenium模塊,通過pip命令。

pip install requests==2.27.1pip?install selenium==3.141.0

二、代碼詳解

2.1 獲取股票名稱和股票代碼

創(chuàng)建方法獲取列表股票名稱和代碼,

import requests

def get_stocks():
    sh_sz = []
    for i in range(1, 11):
        url = "https://stock.xueqiu.com/v5/stock/screener/quote/list.json?page=" + str(
            i) + "&size=60&order=desc&orderby=percent&order_by=percent&market=CN&type=sh_sz"
        headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 \
                    (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
            "Cookie": "xqat=52dfb79aed5f2cdd1e7c2cfc56054ac1f5b77fc3"
        }
        try:
            datas = requests.get(url, headers=headers).json()['data']['list']
        except KeyError:
            print("可能cookie中的xqat失效,請?zhí)鎿Q")
        for data in datas:
            sh_sz.append({'name': data['name'], 'code': data['symbol']})

    return sh_sz

這里需要注意,請求的地址是https://stock.xueqiu.com/v5/stock/screener/quote/list.json?page=" + str(i)+"&size=60&order=desc&orderby=percent&order_by=percent&market=CN&type=sh_sz,其中str(i)是通過for循環(huán)變量i來控制獲取分頁數(shù)據(jù),例子中暫時硬編碼為1~10頁的數(shù)據(jù)。當(dāng)然也可以參數(shù)化,把分頁數(shù)量當(dāng)做方法get_stocks()的入?yún)?,可以自行?yōu)化。

另外需要注意的是,需要設(shè)置請求頭headers,否則不會返回正確響應(yīng)結(jié)果。其中尤其重要的是"Cookie"的設(shè)置,必不可少。"Cookie"的值可以通過瀏覽器訪問雪球網(wǎng)站獲取。

利用Python和Selenium獲取雪球網(wǎng)滬深上市公司日k線走勢圖,爬蟲,python,測試基礎(chǔ),python,selenium,爬蟲,網(wǎng)絡(luò)爬蟲,自動化,beautifulsoup,pip

get_stocks()方法返回字典列表變量sh_sz。

2.2 根據(jù)股票代碼獲取日K線圖

思路:根據(jù)遍歷獲取的sh_sz,取其中的股票代碼拼成股票詳情鏈接,利用selenium訪問鏈接,關(guān)閉登錄彈窗后,點擊日K線,再對當(dāng)前瀏覽窗口進行截圖保存處理;

同時支持Win與Linux環(huán)境的執(zhí)行,可設(shè)置無頭模式執(zhí)行;支持日志記錄。

代碼實現(xiàn),如下,???????

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.chrome.options import Options
import time
import logging

from get_stocks import get_stocks

LOG_FORMAT = "%(levelname)s %(asctime)s - %(message)s"
logging.basicConfig(filename='stock_snapshot.log', level=logging.INFO, filemode='a', format=LOG_FORMAT)
logger = logging.getLogger()

# linux webdriver路徑
# driver_path = "/usr/bin/chromedriver"

# Windows webdriver路徑
driver_path = "D:\webdriver\chromedriver.exe"

# 是否設(shè)置為無頭瀏覽模式
head_less = True
if head_less:
    chrome_options = Options()
    chrome_options.add_argument("--headless")
    chrome_options.add_argument("--no-sandbox")
    driver = webdriver.Chrome(driver_path, chrome_options=chrome_options)
else:
    driver = webdriver.Chrome(driver_path)

stocks = get_stocks()
for stock in stocks:
    driver.maximize_window()
    driver.get(f"https://xueqiu.com/S/{stock['code']}")

    # 關(guān)閉掉登錄提示窗
    login_win = driver.find_element_by_class_name("modal__login")
    action = ActionChains(driver)
    action.move_to_element(login_win).perform()
    close = login_win.find_element_by_class_name('close')
    driver.execute_script('arguments[0].click();', close)

    # 切換日線
    chart_period_ls = driver.find_elements_by_class_name("chart-period-list")
    for chart in chart_period_ls:
        if chart.text.strip() == "日K":
            # chart.click()
            driver.execute_script('arguments[0].click();', chart)
            time.sleep(0.6)
    driver.set_window_size(1200, 820)
    driver.get_screenshot_as_file(f"{stock['name']}.png")
    logger.info(f"{stock['name']}日線走勢圖片保存成功")

重點在于登錄提示窗的關(guān)閉、日K線的點擊與圖片快照保存,都是通過Python?selenium模塊實現(xiàn)。而selenium是一種支持多編程語言的自動化測試框架,關(guān)于其詳細介紹,請訪問其官方網(wǎng)站https://www.selenium.dev/。

三、執(zhí)行結(jié)果

3.1 執(zhí)行結(jié)果

執(zhí)行項目,

利用Python和Selenium獲取雪球網(wǎng)滬深上市公司日k線走勢圖,爬蟲,python,測試基礎(chǔ),python,selenium,爬蟲,網(wǎng)絡(luò)爬蟲,自動化,beautifulsoup,pip

在項目目錄下生成一系列股票日K線快照。除此之外還有很多的功能值得增加、擴展。歡迎留言~


可以關(guān)注作者微信公眾號,追蹤更多有價值的內(nèi)容!利用Python和Selenium獲取雪球網(wǎng)滬深上市公司日k線走勢圖,爬蟲,python,測試基礎(chǔ),python,selenium,爬蟲,網(wǎng)絡(luò)爬蟲,自動化,beautifulsoup,pip文章來源地址http://www.zghlxwxcb.cn/news/detail-846451.html

到了這里,關(guān)于利用Python和Selenium獲取雪球網(wǎng)滬深上市公司日k線走勢圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • python 面向?qū)ο罄胹elenium【獲取某東商品信息】

    python 面向?qū)ο罄胹elenium【獲取某東商品信息】

    用python程序和谷歌selenium插件獲取某東商品詳細信息【商品名稱、商品簡介,超鏈接】 利用selenium自動化程序 中的css頁面結(jié)構(gòu)索取來獲取詳細數(shù)據(jù) 關(guān)于谷歌selenium的安裝方法和使用方法 第一步檢查自己谷歌瀏覽器的版本 1.1 找到設(shè)置:并鼠標(biāo)點擊進入 1.2進入設(shè)置選項后,下滑

    2024年01月16日
    瀏覽(14)
  • python爬蟲進階篇:Scrapy中使用Selenium+Firefox瀏覽器爬取滬深A(yù)股股票行情

    上篇記錄了Scrapy搭配selenium的使用方法,有了基本的了解后我們可以將這項技術(shù)落實到實際需求中。目前很多股票網(wǎng)站的行情信息都是動態(tài)數(shù)據(jù),我們可以用Scrapy+selenium對股票進行實時采集并持久化,再進行數(shù)據(jù)分析、郵件通知等操作。 詳情請看上篇筆記 items middlewares setti

    2024年02月04日
    瀏覽(29)
  • 利用selenium獲取接口數(shù)據(jù)

    起因:頁面展示的內(nèi)容被隱藏了部分,無法獲取完整內(nèi)容 處理方案: 1.利用request模擬接口獲取返參,模擬了請求頭,但操作時一直無法獲得數(shù)據(jù),報錯:org.apache.catalina.connector.ClientAbortException。未深究,大概率是服務(wù)器安全問題 selenium獲取請求頭可參考:https://blog.csdn.net/q

    2024年02月11日
    瀏覽(20)
  • 【Python爬蟲實戰(zhàn)】1.爬取A股上市公司年報鏈接并存入Excel

    【Python爬蟲實戰(zhàn)】1.爬取A股上市公司年報鏈接并存入Excel

    ?數(shù)據(jù)來源:巨潮資訊 ?項目需求:按照股票代碼,公司名稱,年報全稱,年份,下載鏈接等要素寫入excel表 ?使用語言:python ?第三方庫:requests, re , time等 成品展示:? 廢話就到這里,直接開干! 1.尋找接口 眾所周知,爬取網(wǎng)頁數(shù)據(jù)一般可以通過尋找網(wǎng)頁結(jié)構(gòu)規(guī)律和爬取接

    2024年02月04日
    瀏覽(23)
  • 用AkShare獲取滬深京A股所有股票歷史數(shù)據(jù)

    用AkShare獲取滬深京A股所有股票歷史數(shù)據(jù)

    前面章節(jié)已經(jīng)介紹了如何用AkShare調(diào)用A股實時的數(shù)據(jù),但是在我們量化投資過程中,經(jīng)常會需要用到全量數(shù)據(jù)(即所有A股的歷史數(shù)據(jù))。接下來我們講講用AkShare獲取A股所有股票歷史數(shù)據(jù)。 ??? 首先,我們通過AkShare的東財實時行情數(shù)據(jù)接口stock_zh_a_spot_em獲取滬深京A股所有股

    2024年02月03日
    瀏覽(106)
  • python數(shù)據(jù)分析及可視化(十四)數(shù)據(jù)分析可視化練習(xí)-上市公司可視化數(shù)據(jù)分析、黑色星期五案例分析

    python數(shù)據(jù)分析及可視化(十四)數(shù)據(jù)分析可視化練習(xí)-上市公司可視化數(shù)據(jù)分析、黑色星期五案例分析

    從中商情報網(wǎng)下載的數(shù)據(jù),表格中會存在很多的問題,查看數(shù)據(jù)的信息有無缺失,然后做數(shù)據(jù)的清晰,有無重復(fù)值,異常數(shù)據(jù),省份和城市的列名稱和數(shù)據(jù)是不對照的,刪除掉一些不需要的數(shù)據(jù),省份不完整的數(shù)據(jù),然后進行數(shù)據(jù)分析以及可視化,如上市公司中的行業(yè)Top5,用

    2024年02月03日
    瀏覽(32)
  • 百萬粉絲都在看的Python上手教程----滾雪球?qū)WPython

    百萬粉絲都在看的Python上手教程----滾雪球?qū)WPython

    前言: Hello大家好,我是Dream。 今天為大家?guī)硪槐緯?《滾雪球?qū)WPython》 一起來看看吧~ 《滾雪球?qū)WPython》之所以這樣命名本書,是希望大家用滾雪球的思維學(xué)習(xí)編程語言,“滾”的第一遍,從全局掌握Python技術(shù)體系,“滾”的第二遍繼續(xù)為自己的技術(shù)棧沾上更多的雪花,

    2024年01月24日
    瀏覽(19)
  • Python利用Selenium實現(xiàn)自動化驗證登錄

    Python里面使用Selenium是一個很重要的自動化測試模塊,我們可以用它寫一個驗證登錄腳本,有了這個可以用來保存cookie信息等,下面是一個簡單的demo:

    2024年02月15日
    瀏覽(19)
  • python 利用多線程執(zhí)行selenium(自動化)測試

    python 利用多線程執(zhí)行selenium(自動化)測試

    python 利用多線程執(zhí)行selenium測試 在實際應(yīng)用中,可能會遇到項目要求既要在Chrome瀏覽器中測試,又需要在Firefox瀏覽器中進行測試,那么此時就能體現(xiàn)出多線程測試的優(yōu)勢。多線程并行地運行自動化測試,提高了效率。 示例:在本地利用chrome瀏覽器和firefox瀏覽器對同一腳本進

    2024年01月18日
    瀏覽(23)
  • Python利用Selenium實現(xiàn)彈出框的處理

    Python利用Selenium實現(xiàn)彈出框的處理

    現(xiàn)如今經(jīng)常出現(xiàn)在網(wǎng)頁上的基于 JavaScript 實現(xiàn)的彈出框有三種,分別是? alert、confirm、prompt ?。該章節(jié)主要是學(xué)習(xí)如何利用 selenium 處理這三種彈出框。奧利給,沖! JavaScript的三種對話框是通過調(diào)用 \\\"window對象\\\" 的三個方法 \\\"alert()\\\"、\\\"confirm()\\\" 、\\\"prompt()\\\" 來獲得,我們可以利用這

    2024年02月01日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包