ChatGPT炒股:自动获取某只股票最新新闻报道

炒股,肯定要看某个股票的相关新闻,这是最基础的线上调研。百度新闻相对比较全面,如何通过ChatGPT来自动获取某个股票的百度新闻报道呢?

首先,在百度新闻搜索页面,观察翻页的规律:

第二页:

https://www.baidu.com/s?tn=news&rtt=4&bsst=1&cl=2&wd=%E8%B4%B5%E5%B7%9E%E8%8C%85%E5%8F%B0&medium=0&x_bfe_rqs=032000000000000000000000000000000000000000000008&x_bfe_tjscore=0.080000&tngroupname=organic_news&newVideo=12&goods_entry_switch=1&rsv_dl=news_b_pn&pn=10

第三页:

https://www.baidu.com/s?tn=news&rtt=4&bsst=1&cl=2&wd=%E8%B4%B5%E5%B7%9E%E8%8C%85%E5%8F%B0&medium=0&x_bfe_rqs=032000000000000000000000000000000000000000000008&x_bfe_tjscore=0.080000&tngroupname=organic_news&newVideo=12&goods_entry_switch=1&rsv_dl=news_b_pn&pn=20

查询参数wd表示搜索关键词,这里是贵州茅台。

查询参数pn表示分页的起始索引,第一个URL的pn值为10,第二个URL的pn值为20。在百度新闻搜索结果中,每个结果页面显示10条新闻,因此pn值以10为间隔递增。

然后,观察每页的新闻结构:

都放在div元素中;

最后,定位新闻标题、新闻日期、来源等位置。

搞清楚后,就可以在ChatGPT中输入提示词如下:

写一段Python程序,具体步骤如下:

用户输入股票名称,获取这个名称,对其进行编码,编码值赋给变量:keywords;

打开网站:https://www.baidu.com/s?tn=news&rtt=4&bsst=1&cl=2&wd={keywords}&medium=0&x_bfe_rqs=032000000000000000000000000000000000000000000008&x_bfe_tjscore=0.080000&tngroupname=organic_news&newVideo=12&goods_entry_switch=1&rsv_dl=news_b_pn&pn=0,ppn参数值是从0到100,以10为间隔递增,对网站进行解析;

定位页面中所有class="result-op c-container xpath-log new-pmd" 的div元素,然后定位其中class="news-title-font_1xS-F" 的a元素,提取其aria-label值,去掉开头的“标题:”字符,写入excel表格第1列;提取a元素的href值,写入excel表格第5列;

定位class="c-color-gray2 c-font-normal c-gap-right-xsmall" 的span 元素,提取其aria-label值,去掉开头的“发布于:”字符,写入excel表格第2列;

定位class="c-font-normal c-color-text" 的span 元素,提取其aria-label值,去掉开头的“摘要 ” 写入excel表格第3列;

定位class="c-color-gray" 的span 元素,提取其aria-label值,去掉开头的“新闻来源:” ,写入excel表格第4列;

保存excel表格到F盘的{股票名称}.xlsx

注意:要有应对反爬虫的措施,比如每爬取一页内容后暂停10秒、构造请求头;

每一个步骤都要输出信息

程序运行中输出的信息,说明运行正确。

输出的excel表格内容如上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的股票分析 Python 代码,你可以根据自己的需要进行修改和扩展: ```python import yfinance as yf # 输入股票代码和时间段,获取历史股价数据 ticker = input("请输入股票代码:") start_date = input("请输入开始日期(YYYY-MM-DD):") end_date = input("请输入结束日期(YYYY-MM-DD):") stock = yf.Ticker(ticker) df = stock.history(start=start_date, end=end_date) # 计算股价变动率 df['change'] = df['Close'].pct_change() # 计算股价波动性 volatility = df['change'].std() * 100 # 计算均线指标 df['MA5'] = df['Close'].rolling(5).mean() df['MA10'] = df['Close'].rolling(10).mean() df['MA20'] = df['Close'].rolling(20).mean() # 输出分析结果 print(f"{ticker}的股价波动性为:{volatility:.2f}%") print("均线指标分析:") if df['Close'][-1] > df['MA5'][-1] > df['MA10'][-1] > df['MA20'][-1]: print("股价处于多头排列,建议买入!") elif df['Close'][-1] < df['MA5'][-1] < df['MA10'][-1] < df['MA20'][-1]: print("股价处于空头排列,建议卖出!") else: print("股价处于震荡区间,建议观望!") ``` 这个代码使用了 Yahoo Finance 的数据接口 yfinance,首先用户需要输入股票代码和时间段,然后获取历史股价数据,计算股价变动率和股价波动性,再根据均线指标进行分析,输出相应的建议。通过这个简单的股票分析代码,我们可以了解到股票的历史表现和当前市场趋势,帮助我们做出更好的投资决策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值