看ChatGPT是如何教我爬取上千家上市公司的股票代码
现在有一个这样的需求,要爬取雪球网上A股的股票名称、代码和总市值这些信息并把它保存到execl表格中。对于一个新手想学习爬虫,如何通过chatGPT
来完成这个任务呢?
首先,我们把自己的需求详细的描述向ChatGPT
提问,问题描写的越详细越好,例如: 然后,我们把代码复制到编辑器运行,如下图:
没有任何返回值,估计是出错了,我们先打印一下
content
的值看看,如下图: 的确是出错了。我在把出错的问题进行描述,再向
ChatGPT
进行提问。如下图: 上述的回答中解析了为什么会出现这种错误,并给出了解决方法。我们采用第一种方式,为代码添加请求头,再次执行。
这次就成功把网页的内容返回了。但是页面中的内容并没有我们想要的信息。
通过观察爬取的页面,刚打开页面是没有我们想要的信息,当我们点击了开始选股
,才加载数据。
![](/assets/blank.gif)
![](/assets/blank.gif)
通过浏览器开发者工具,发现点击后,是请求以下这个地址,获取结果进行加载的。
弄清楚了请求地址,我们再次向chatGPT
提问。
❝
上述代码,它没有添加请求头,所以,我们要自行添加请求头
❞
关键代码如下:
import requests
url = 'https://xueqiu.com/service/screener/screen?category=CN&exchange=sh_sz&areacode=&indcode=&order_by=symbol&order=desc&page=1&size=30&only_count=0¤t=&pct=&mc=&volume=&_=1684212843562'
# 发送 HTTP 请求获取 JSON 数据headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}response = requests.get(url, headers=headers)data = response.json()
# 提取股票信息stocks = data['data']['list']
# 遍历股票信息并输出股票名称和代码for stock in stocks: name = stock['name'] code = stock['symbol'] print(name, code)
执行结果如下:
上述代码只是爬取单页的,现在我们要爬取多页的数据,把这个需求描述发给chatGPT
,看它是如何解决的。
❝
上述代码,它没有添加请求头,所以,我们要自行添加请求头
❞
关键代码:
import requests
def crawl_stock_data(page_num): url = f'https://xueqiu.com/service/screener/screen?category=CN&exchange=sh_sz&areacode=&indcode=&order_by=symbol&order=desc&page={page_num}&size=30&only_count=0¤t=&pct=&mc=&volume=&_=1684212843562'
# 发送 HTTP 请求获取 JSON 数据 response = requests.get(url) data = response.json()
# 提取股票信息 stocks = data['data']['list']
# 遍历股票信息并输出股票名称和代码 for stock in stocks: name = stock['name'] code = stock['symbol'] print(name, code)
# 执行多页爬取数据total_pages = 10 # 假设要爬取10页的数据for page in range(1, total_pages + 1): crawl_stock_data(page)
下面就是把爬取的数据保存到execl中,再次把需求描述给chatGPT
,看它是如何回复的: 这次又忘记添加请求头,于是,我提示它加上请求头。
关键代码如下:
import requestsimport pandas as pd
def crawl_stock_data(page_num): url = f'https://xueqiu.com/service/screener/screen?category=CN&exchange=sh_sz&areacode=&indcode=&order_by=symbol&order=desc&page={page_num}&size=30&only_count=0¤t=&pct=&mc=&volume=&_=1684212843562'
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' }
# 发送 HTTP 请求获取 JSON 数据 response = requests.get(url, headers=headers) data = response.json()
# 提取股票信息 stocks = data['data']['list'] stocks_list =[{'name': item.get("name"),'symbol':item.get("symbol"), 'volume':item.get("volume")} for item in stocks ] # 创建DataFrame保存股票数据 df = pd.DataFrame(stocks_list, columns=['name', 'symbol',"volume"]) return df
# 执行多页爬取数据total_pages = 50 # 假设要爬取10页的数据dfs = []for page in range(1, total_pages + 1): df = crawl_stock_data(page) print(df) dfs.append(df)
result_df = pd.concat(dfs, ignore_index=True)# 保存数据到Excel文件result_df.to_excel('stock_data.xlsx', index=False)
执行成功的结果如下:
❝
代码是完成了我们的需求,但是代码缺乏异常捕捉,如果代码出现错误后,会整个代码停止执行。
❞
总结
利用chatGPT
学习爬虫是一个非常好的办法,只要我们把需求和问题向它描述,它都能分析错误和给出解决方法。大大的节省了收集资料的时间,提高了学习的效率。
本文由 mdnice 多平台发布
看ChatGPT是如何教我爬取上千家上市公司的股票代码相关推荐
- 阿凡达时隔十年重映,王者归来还是炒冷饭?Python爬取上千条评论并分析
[CSDN 编者按]<阿凡达>十年后再次重映,果不其然话题量十足,可能这就是神级影片的召唤力吧.在怀旧的氛围中,我们得以重新审阅这部曾经的现象级.划时代的作品. 作者 | 刘早起 ...
- python爬虫爬取新闻实战01:小白如何迅速学会爬虫爬取上千条新闻
爬虫爬取新闻实战01:小白如何迅速学会爬虫爬取千条新闻 文章目录 爬虫爬取新闻实战01:小白如何迅速学会爬虫爬取千条新闻 1.前言 2 .爬虫原理介绍 2.1.图片爬虫 2.2 文字爬虫 3.用八爪鱼 ...
- 爬取上千个年度基金后,才知道这有多坑,千万别被人当韭菜给割了
今天来分析一下2021年的基金市场,分析一下今年表现最好的那些基金有什么特征?作为理财小白的你,如何在2022年如何科学理性地投资从而避免被当做韭菜收割呢? 基金介绍 首先对于基金,可以大致分为:货币 ...
- 剧荒不慌 | 手把手教你爬取+DIY豆瓣电影新榜单
作者 | 吹牛Z 来源 | 数据不吹牛(ID:shujubuchuiniu) 本文以豆瓣电影(非TOP250)为例,从数据爬取.清洗与分析三个维度入手,详解和还原数据爬取到分析的全链路.阅读全文大概需 ...
- 手把手教你爬取任意日期全部股票分时数据~
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 独怜幽草涧边生,上有黄鹂深树鸣. ...
- 【爬虫】Yhen手把手教你爬取表情包,让你成为斗图界最靓的仔!
以下内容为本人原创,欢迎大家观看学习,禁止用于商业用途,转载请说明出处,谢谢合作! ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/art ...
- 100行代码教你爬取斗图网(Python多线程队列)
100行代码教你爬取斗图网(Python多线程队列) 前言 根据之前写的两篇文章,想必大家对多线程和队列有了一个初步的了解,今天这篇文章就来实战一下,用多线程 + 队列 爬取斗图网的全网图片. 你还在 ...
- 手把手教你爬取PC端『某酷视频』个人历史播放数据,并可视化展示
大家好,我是阿辰,今天手把手教你爬取PC端『某酷视频』个人历史播放数据,并可视化展示 上次有粉丝说,那个是ios手机,安卓手机现在需要root权限才可以安装证书,那么今天就不以手机为例,以电脑PC端为 ...
- python爬取二手房信息_刚刚接触PythonR?教你爬取分析赶集网北京二手房数据(附详细代码)...
原标题:刚刚接触Python&R?教你爬取分析赶集网北京二手房数据(附详细代码) 源 /数据森麟文 /徐涛 前言: 本文主要分为两部分:Python爬取赶集网北京二手房数据&R对爬取的 ...
最新文章
- python判断是否回文_对python判断是否回文数的实例详解
- 华为AR28-31配置光纤接入
- Python 【第十三章】 Django 之 FORM
- git提交代码到github时出现everything up-to-date,但是代码没有上传成功
- 随机地址生成器_随机连接神经网络性能超过人工设计!何恺明等人发布新研究...
- mysql变更AUTO_INCREMENT值
- SQL 单一用户(解决)
- python数据分析师书籍_如何自学成为数据分析师
- WEB安全基础-XSS基础
- Opencv实现的简易绘图工具
- Java入门基础知识
- 2021年Delphi第26届应用软件开发展示挑战赛的获胜者名单
- 小学三年级英语听力测试软件,小学三年级英语听力练习题及参考答案
- winrar解压时出现诊断信息怎么办?
- 把rmvb格式转化为avi格式
- 华为笔记本重装系统步骤
- android室内地图,概述-Android 室内地图SDK | 高德地图API
- 上海BFC外滩金融中心潮流新店,aaddd揭秘全新生活美学
- 视觉软件 VisionPro 定位引导3(卡尺CogFindLineTool工具以及辅助工具)
- 技术人的“灵魂三问”,阿里工程师如何解答?