python3 爬虫抓取股市数据

article/2025/9/4 22:43:06

python3 爬虫抓取股市数据

    • 爬虫抓取数据的一般步骤
    • 代码
    • 运行结果
    • 小结
    • 注意事项

爬虫抓取数据的一般步骤

	1、确定需要抓取的网站2、分析url,找到url的的变化规律3、分析页面的数据4、获取页面数据5、提取需要爬取的数据6、写入数据库或写入文件

代码

import requests
import random
import re# 创建 User-Agent 池
UA_list = [{"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36"},{"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0"},{"User-Agent":"Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.9.168 Version/11.50"}]def get_url():'''拼接url'''try:shares_id = input("请输入股票代码:")year = input("请输入年份:")season = input("请输入季度:")url = "http://**********/trade/lsjysj_%s.html?year=%s&season=%s" % (shares_id, year, season)except:passreturn urldef get_page(url):'''获取网页数据'''ua = random.choice(UA_list)  # 随机获取User-Agent,防止对方反爬response = requests.get(url, ua)if response.status_code == 200:return response.textreturn 0def parse_page(html):'''分析网页数据'''regular = re.compile(r"<tr [\s\S]*?><td>([\s\S]*?)</td><td [\s\S]*?>([\s\S]*?)</td><td [\s\S]*?>([\s\S]*?)</td><td [\s\S]*?>([\s\S]*?)</td><td [\s\S]*?>([\s\S]*?)</td>")price_list = re.findall(regular, html)# 正则表达式获取需要的股票价格,包含当天开盘价,收盘价,最高价和最低价for price in price_list:print(price)while True:url = get_url()page = get_page(url)if page:parse_page(page)breakelse:print("未找到相应股票,请重新输入")

运行结果

在这里插入图片描述

小结

此爬虫较为简单
1、不需要考虑登录的cookie的问题
2、没有ajax页面数据动态加载问题
3、未写入数据库或文件当中,通过终端打印的防止,直接展示出爬取的数据
4、一次只能爬取一只股票的其中一个季度的数据

注意事项

1、如果一次性爬取多条股票的价格,要注意反反爬策略,例如通过代理服务池或者连续爬取时增加程序的休眠时间
2、大量爬取数据时,可利用创建多进程的方式提高爬取效率


http://chatgpt.dhexx.cn/article/p6HuUFRL.shtml

相关文章

Python_爬虫数据存入数据库(超详细过程

目录 一、新建项目 二、程序的编写 三、数据的爬取 一、新建项目 1.在cmd窗口输入scrapy startproject [项目名称] 创建爬虫项目 接着创建爬虫文件&#xff0c;scrapy genspider [爬虫名字] [爬虫域名] 打开pycharm项目&#xff0c;就可以看到生成的cblog.py文件 二、程序的…

爬虫抓取分页数据的简单实现

爬虫抓取分页数据的简单实现 昨天&#xff0c;我们已经利用Jsoup技术实现了一个简单的爬虫&#xff0c;原理很简单&#xff0c;主要是要先分析页面&#xff0c;拿到条件&#xff0c;然后就去匹配url&#xff0c;采用dome解析的方式循环抓取我们需要的数据&#xff0c;从而即可轻…

PHP爬虫抓取网页数据

2019年我接触到PHP爬虫的时候&#xff0c;我最开始是懵的。还有人用php来写爬虫&#xff1f; 一个月之后&#xff0c;嗯~全世界最好的语言写全世界最好的爬虫&#xff0c;真香&#xff01;而在7月15这一个日常加班的晚上&#xff0c;做完手头的活&#xff0c;我寻思着写会儿php…

网络爬虫的基本结构是什么?如何建立网络爬虫抓取数据?

摘要&#xff1a;互联网上有很多丰富的信息可以被抓取并转换成有价值的数据集&#xff0c;然后用于不同的行业。比如企业用户利用电商平台数据进行商业分析&#xff0c;学校的师生利用网络数据进行科研分析等等。那么&#xff0c;除了一些公司提供的一些官方公开数据集之外&…

利用EXCEL进行数据爬虫

说到爬虫&#xff0c;相信大家出现在脑海中的一定是python。python在最近几年确实热火朝天&#xff0c;对于不会编程人员来说&#xff0c;利用好EXCEL一样也可以爬取一些简单的数据&#xff0c;并且方式非常简单。 1.爬取东方财富网上基金信息。网址为&#xff1a;基金收益排行…

利用Excel数据爬虫

1、在Excel里数据里打开自网站。 2、选择高级部分 URL部分和URL预览填写为目标&#xff08;需要爬取数据的网址&#xff09;的URL地址 命令超时选择1分钟即可。 HTTP请求标头参数 第一步点击网络 第二部点击消息头部 第三部找到User-Agent的value复制 3、最后点击加载 就…

爬虫抓取网络数据时经常遇到的六种问题

随着互联网时代的不断发展&#xff0c;爬虫采集已经成为了目前最为主流的数据获取方式。使用爬虫软件自动从网站中提取数据可以节省大量的时间和精力。接下来就一起来看看爬虫抓取网络数据时经常遇到的六种问题吧&#xff1a; 1.IP阻止 IP阻止是指网站所有者主动阻止用户的IP地…

Jsoup实现网络爬虫抓取数据

Jsoup实现网络爬虫抓取数据 在编写一个软件&#xff0c;例如关于教务软件的时候&#xff0c;需要获取学校官网的一些新闻信息来充实自己的软件&#xff0c;而又不会专门提供相关的api接口&#xff0c;此时就需要我们自己动手来抓取感兴趣的信息。有人会问抓取网站的信息是否会…

Java爬虫,数据采集经验分享

公司要求我采集网页中的某些数据&#xff0c;以下是我采集的步骤和思路&#xff0c;比较基础。 一.首先我是通过抓取网页源代码的方式&#xff0c;根据源代码&#xff0c;获取各种标签中的数据 public class GetData {//数据抓取核心类// 获取网页数据/** param url:目标网址…

Python爬虫抓取数据时怎么防止ip被封

大数据公司在做数据分析的时候&#xff0c;对目标网站频繁访问很容易触发网站的反爬机制&#xff0c;因此如果想要突破限制只能使用动态ip频繁切换地址模拟真实客户访问网站才能起到防封效果。比如在做数据抓取的时候报错403等限制访问&#xff0c;大概率是因为ip被限。本文总结…

爬虫入门——数据抓取

学习爬虫&#xff0c; 最初的操作便是模拟浏览器向服务器发出请求。使用一下库实现此请求 1.urllib库的使用 urllib 库是Python 内置的HTTP 请求库&#xff0c;包含以下四个模块&#xff1a; 1.request&#xff1a;http请求模块 2.error&#xff1a;异常处理模块 3.parse&#…

ts全局变量定义

参照已有全局变量定义 src/global.d.ts /** Author: hongbin* Date: 2022-10-21 08:49:42* LastEditors: hongbin* LastEditTime: 2022-10-21 09:09:08* Description:全局类型&#xff0c;变量&#xff0c;常量*/ //全局变量 declare let Hong: string; declare const BIN: s…

C++中的全局变量声明和定义

1.全局变量 全局变量在整个源文件的作用域都是有效的&#xff0c;只需要在一个源文件中定义全局变量&#xff0c;在其他不包含全局变量定义的源文件中用extern关键字再次声明这个全局变量即可。 也可以在一个源文件中定义这个全局变量&#xff0c;在头文件中用extern关键字再…

c语言全局变量(c语言全局变量怎么定义)

菜鸟提问:GCCE编译环境下&#xff0c;汇编函数如何使用C全局变量汇编化了 首先要在C程序中用extern申明该变量为全局变量&#xff0c;再在汇编程序中用extern "变量名"来导入&#xff0c;注意&#xff0c;汇编中如果直接使用"mov eax,变量名"表示的是将该变…

C++全局变量的声明和定义

参考&#xff1a; http://wrchen.blog.sohu.com/71617539.html &#xff08;1&#xff09;编译单元&#xff08;模块&#xff09; 在VC或VS上编写完代码&#xff0c;点击编译按钮准备生成exe文件时&#xff0c;编译器做了两步工作&#xff1a; 第一步&#xff0c;将每个.cpp(.c…

【Vue】全局变量的定义及使用

首先声明Vue使用全局变量的方法有很多&#xff0c;以下只是个人觉得比较简洁的2种。其中两者的第一步操作相同&#xff0c;即&#xff1a; 创建全局变量文件Global.vue&#xff0c;内容如下&#xff1a; <script>const name ZhangSan; //名称const address No.20, Ta…

VC++中全局变量的问题(转)

全局变量一般这样定义&#xff1a;1。在一类的.cpp中定义 int myInt;然后再在要用到的地方的.cpp里extern int myInt&#xff1b;这样就可以用了。 2。在stdafx.cpp中加入:int myInt;然后在stdafx.h中加入:extern int myInt这样定义以后无论在什么文件中都是可见的. 3。比较规…

LINUX c语言 定时显示CPU,内存和硬盘的使用率

/* 写在完成后&#xff0c;查找了很多资料&#xff0c;看到了很多方法&#xff0c;也看了部分top的源码&#xff0c;最终选择了这几种混合的方式来写&#xff0c;可能有更优解&#xff0c;不过目前这样应该够用。 --2020/12/15-- Simon */需求&#xff1a;定期获取CPU&#x…

crontab做系统定时任务命令

crontab做系统定时任务命令&#xff1a; 给系统设置一个定时的任务&#xff0c;相当于一个闹钟 我们每天的0点去做一些清理工作&#xff0c;自检工作&#xff0c;重要数据存盘备份工作&#xff0c;一个组里面很多同时都在提交代码&#xff0c;git作为代码管理工具&#xff0c;每…

c语言如何让函数一直执行,C语言如何实现在每天某个特定时间执行某个函数?

慕仙森 Windows提供了定时器&#xff0c;帮助编写定期发送消息的程序。定时器一般通过一下两中方式通知应用程序间隔时间已到。⑴ 给指定窗口发送WM_TIMER消息&#xff0c;也就是下面的给出在窗口类中使用的方法。⑵ 调用一个应用程序定义的回调函数&#xff0c;也就是在非窗口…