起因
电影 点球成金 (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 jsonclass 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 aksz_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)