当前位置: 首页 > article >正文

python 天气与股票的关系--第一部分,爬取数据

起因

电影 点球成金 (Moneyball 2011)
此电影中,
彼得·布兰德(Peter Brand), 就是那个胖子,
他作为一名数据分析专家,
他建立自己的数学公式 (数学模型),
然后用实际的情况, 来验证。

那么,我的一个想法是:
天气情况与股票走势有什么关系。

爬点数据,验证一下。

爬取 上海历史天气数据 2022 + 2023

这里使用的是 scrapy, 很久之前写的,还能正常运行。

import re
import os
import json
import scrapy
from scrapy import Request, FormRequest
from bs4 import BeautifulSoup
from News.items import WeatherItem
import json

class XSpider(scrapy.Spider):
    name = "weather"
    allowed_domains = ['tianqi.com']

    def start_requests(self):
        # 就是普通的 get 请求。2022年全部的信息
        for i in range(1, 13):
            # url = f"https://lishi.tianqi.com/shanghai/2022{str(i).zfill(2)}.html"
            url = f"https://lishi.tianqi.com/shanghai/2023{str(i).zfill(2)}.html"
            yield  Request(url=url, callback=self.parse_page)


    def parse_page(self, response, **kwargs):
        item = WeatherItem()

        # <div class="tian_three">
        soup = BeautifulSoup(response.text, "lxml")

        junk = soup.find("div", attrs={"class": "tian_three"})
        if junk:
            data = junk.find_all("li")
            for d in data:
                g = d.text.strip().split("\n")
                print(g)
                item['date'] = g[0].strip()
                item['high'] = g[1].strip()
                item['low'] = g[2].strip()
                item['info'] = g[3].strip()
                item['wind'] = g[4].strip()
                yield item

爬取股票信息

这部分是真简洁。 代码来源 kimi ai.

import akshare as ak

sz_index_df = ak.index_zh_a_hist(symbol="000001", period="daily", start_date="20220101", end_date="20231231")
sz_index_df.to_csv("shanghai_index_2022_2023.csv", index=False)

下一篇进行数据清洗


http://www.kler.cn/news/284972.html

相关文章:

  • 新审视零阶优化在内存高效大模型微调中的应用
  • 你是如何克服编程学习中的挫折感的?——从Bug中找到成长的契机
  • Linux awk案例
  • Dataworks_PySpark开发流程
  • azure-search-openai-demo-csharp does not deploy correctly to azure clooad
  • vue项目打包压缩静态资源—使用compression-webpack-plugin
  • 是否应该使用WordPress自动更新的功能
  • ComfyUI使用Flux模型
  • 黑马JavaWeb开发笔记07——Ajax、Axios请求、前后端分离开发介绍、Yapi详细配置步骤
  • 网络压缩之参数量化(parameter quantization)
  • Spring Boot发送http请求
  • C语言补习课
  • gdb 教程
  • springboot学习(2)
  • 美团2024秋招编程题:小美的red子序列数量之和
  • WebSocket 实现消息推送
  • AOP 面向切片编程
  • 我的推荐:腾讯云罗云《从零构建向量数据库》
  • 无人机之遥控器防水性能篇
  • Ubuntu 20.04 安装 GitHub CLI(gh),并使用
  • C语言——简单的do while循环找100~999之间的水仙花数(所有的三位水仙花数)
  • 数据结构(三)——双向链表,循环链表,内核链表,栈和队列
  • 『功能项目』怪物反击主角复活【14】
  • spring security 会话管理
  • 苹果M4芯片Mac全面曝光 或10月发布
  • OpenHarmony轻量设备Hi3861芯片开发板启动流程分析
  • redis能正常访问,但是springboot编译报错
  • 【Go函数详解】二、参数传递、变长参数与多返回值
  • java定时服务
  • Python学习日志(1)——安装