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)