日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python3 爬虫抓取股市数据

發布時間:2023/12/31 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3 爬虫抓取股市数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python3 爬蟲抓取股市數據

    • 爬蟲抓取數據的一般步驟
    • 代碼
    • 運行結果
    • 小結
    • 注意事項

爬蟲抓取數據的一般步驟

1、確定需要抓取的網站2、分析url,找到url的的變化規律3、分析頁面的數據4、獲取頁面數據5、提取需要爬取的數據6、寫入數據庫或寫入文件

代碼

import requests import random import re# 創建 User-Agent 池 UA_list = [{"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36"},{"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0"},{"User-Agent":"Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.9.168 Version/11.50"}]def get_url():'''拼接url'''try:shares_id = input("請輸入股票代碼:")year = input("請輸入年份:")season = input("請輸入季度:")url = "http://**********/trade/lsjysj_%s.html?year=%s&season=%s" % (shares_id, year, season)except:passreturn urldef get_page(url):'''獲取網頁數據'''ua = random.choice(UA_list) # 隨機獲取User-Agent,防止對方反爬response = requests.get(url, ua)if response.status_code == 200:return response.textreturn 0def parse_page(html):'''分析網頁數據'''regular = re.compile(r"<tr [\s\S]*?><td>([\s\S]*?)</td><td [\s\S]*?>([\s\S]*?)</td><td [\s\S]*?>([\s\S]*?)</td><td [\s\S]*?>([\s\S]*?)</td><td [\s\S]*?>([\s\S]*?)</td>")price_list = re.findall(regular, html)# 正則表達式獲取需要的股票價格,包含當天開盤價,收盤價,最高價和最低價for price in price_list:print(price)while True:url = get_url()page = get_page(url)if page:parse_page(page)breakelse:print("未找到相應股票,請重新輸入")

運行結果

小結

此爬蟲較為簡單
1、不需要考慮登錄的cookie的問題
2、沒有ajax頁面數據動態加載問題
3、未寫入數據庫或文件當中,通過終端打印的防止,直接展示出爬取的數據
4、一次只能爬取一只股票的其中一個季度的數據

注意事項

1、如果一次性爬取多條股票的價格,要注意反反爬策略,例如通過代理服務池或者連續爬取時增加程序的休眠時間
2、大量爬取數據時,可利用創建多進程的方式提高爬取效率

總結

以上是生活随笔為你收集整理的python3 爬虫抓取股市数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。