【超详细】Python金融应用之爬虫(五)

python小案例——采集财经数据 大家早好、午好、晚好吖 ❤ ~ 阅读详情

//

- 前言 -

◆ ◆ ◆ ◆

由于爬虫涉及较多网络专用术语,而小咖也仅是单纯一金融民工,因此这里就直接将网络上对于这些关键术语的定义展示给大家,如果感兴趣大家可以自行深度学习,而小咖的Python系列将主要专注于各类python工具的金融应用。

1、爬虫:是一个可以自动化抓取网页、app内容的工具。其中,我们将讲到的是目前应用最广泛的搜索引擎网络蜘蛛,在python中录入网址既可以获取网页数据。

2、URL:是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。URL的格式由三部分组成:

(1)第一部分是协议:http/https/ftp/ws等等。

(2)第二部分是存有该资源的主机IP地址(有时也包括端口号),简单说就是网站的域名。

(3)第三部分是主机资源的具体地址,如目录和文件名:即网站的二级目录和信息列表页、资源页等等。

3、F12:在网页界面点击F12后会出现开发者工具,我们可以通过F12找到所需数据及其节点。主要模块为:

Elements:可以查看当前文档的DOM信息

Console:查看调试,也可直接写JS代码

Source:查看当前资源文件的(CSS,JS,IMAGE)

Network:查看网络请求

4、User Agent:User Agent的中文名为用户代理,简称UA,它的信息包括硬件平台、系统软件、应用软件和用户个人偏好等。有一些网站不喜欢被爬虫程序访问,所以会检测连接对象,如果发现是爬虫程序便会拒绝访问。因此,我们可以通过设置User Agent的来隐藏身份继而使得程序正常运行。

User Agent存放于Headers中,服务器就是通过查看Headers中的User Agent来判断是谁在访问。

5、爬虫相关库:

在Python3中,可以使用urllib.request和requests进行网页爬取。urllib库是python内置的,无需额外安装。而requests库是第三方库,需要自己安装。

**Requests库:**requests实现了HTTP协议中绝大部分功能,它提供的功能包括Keep-Alive、连接池、Cookie持久化、内容自动解压、HTTP代理、SSL认证、连接超时、Session等很多特性,最重要的是它同时兼容python2和python3。安装方法:

pip install requests

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

**urllib库:**同样可以用来处理http请求,但是相较而言requests库更加简洁且容易理解,因此这里暂不讨论此库。

**Beautiful Soup库:**解析获取的HTML信息。安装方法:

pip install beautifulsoup4

- Python爬虫实例 -

◆ ◆ ◆ ◆

第一步:安装各种包

资料来源:西瓜财经资讯

第二步:根据URL,获取网页的HTML信息

资料来源:西瓜财经资讯

(1)安装并导入requests包

pip install requests

import requests

(2)输入目标网页。

资料来源:网络(网易财经)

(3)设置User Agent。

headers={‘User-Agent’:‘Mozilla/5.0(WindowsNT 6.2;WOW64;rv:21.0)Gecko/20100101Firefox/21.0’}

(4)获取网页的HTML信息

res=requests.get(url=target,headers=headers)

(5)为了防止乱码将unicode编码的字符串转换成utf-8编码。网页的编码,可以在网页上点击右键“编码”查看。

res.encoding = ‘utf-8’

资料来源:网页

(6)创建一个Beautiful Soup对象。首先用from bs4 import BeautifulSoup as bs导入库,再利用BeautifulSoup对得到的html代码进行解析。下式第一个参数为需要提取数据的html,第二个参数是指定解析器。

soup = bs(res.text, ‘html.parser’)

(7)在网页上点击右键——“查看源代码”,即可以得到我们如下网页信息:

资料来源:网页

(8)根据数据特点,使用find_all方法,获得html信息中的td和tr标签。

注:HTML标签是HTML语言最重要的组成部分,也是最基本的单位。如上图的td便是HTML标签,而id和class为标签的属性,其赋值便是标签的属性值,一个属性对应一个属性值,进而用来区分不同的div标签。find_all方法的第一个参数是要获取的标签名,第二个参数id或者class_是标签的属性(Python中class是关键字,所以用class_加以区分)。

具体语句为:

allitem = soup.find_all(‘td’, class_=“td_1”) #找到所有标签为td且class为td_1的情况

alldata = soup.find_all(‘tr’)

#找到所有标签为tr的情况

第三步:获取数据

资料来源:西瓜财经资讯

(1)从上述获取的allitem中获取财务报表摘要项目。

资料来源:网页

import re

reg=re.compile(“[\u4e00-\u9fa5]+”) # [u4e00-u9fa5]这个范围可以匹配绝大多数汉字,\u是匹配中文

namelist = []

for i in range(0,len(allitem)):

name=reg.findall(str(allitem\[i\]))

namelist.append(name)

资料来源:西瓜财经资讯

注:正则表达式是对字符串操作的一种逻辑公式,可以达到如下的目的:给定的字符串是否符合正则表达式的过滤逻辑(“匹配”);从文本字符串中获取我们想要的特定部分(“过滤”)。

资料来源:网页

(2)从上述获取的alldata中获取财务报表摘要日期。

资料来源:网页

import re

reg=re.compile(“\d±\d±\d+”) #根据日期格式来设置正则表达式

datelist=reg.findall(str(alldata[31])) #发现tr标签的第32项为日期

【超详细】Python金融应用之爬虫(四) ◆ ◆ ◆ ◆由于爬虫涉及较多网络专用术语,而小咖也仅是单纯一金融民工,因此这里就直接将网络上对于这些关键术语的定义展示给大家,如果感兴趣大家可以自行深度学习,而小咖的Python系列将主要专注于各类python工具的金融应用。1、爬虫:是一个可以自动化抓取网页、app内容的工具。其中,我们将讲到的是目前应用最广泛的搜索引擎网络蜘蛛,在python中录入网址既可以获取网页数据。2、URL:是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。 阅读详情

相关推荐

Python 网络爬虫进阶教学全指南

本次博客将深入探究 Python 网络爬虫的核心知识与实用技巧,引领大家从入门迈向精通

安年的小小博客有大大的梦想 4031

Python 网络爬虫的应用

Python网络爬虫作为一种强大的自动化工具,在多个领域展现了广泛的应用潜力。从数据采集到舆情监控,从市场研究到金融分析,Python爬虫为各行各业提供了高效的数据获取和处理手段。然而,在实际应用中,开发者需注意遵守法律法规,合理使用技术,并克服反爬机制带来的挑战。随着互联网技术的不断发展,Python网络爬虫的应用前景将更加广阔。

kcarly的专栏 1441

【基础】【Python网络爬虫】【1.认识爬虫】什么是爬虫,爬虫分类,爬虫可以做什么

认识爬虫 1.什么是爬虫 2.爬虫可以做什么 3.为什么用 Ptyhon 爬虫 4.爬虫的分类 通用爬虫 聚焦爬虫 功能爬虫 增量式爬虫 分布式爬虫 5.爬虫的矛与盾(重点) 6.盗亦有道的君子协议robots 7.爬虫合法性探究

weixin_43612602的博客 2534

什么是网络爬虫?有什么用?怎么爬?

随着大数据时代的来临,网络爬虫在互联网中的地位将越来越重要。互联网中的数据是海量的,如何自动高效地获取互联网中我们感兴趣的信息并为我们所用是一个重要的问题,而爬虫技术就是为了解决这些问题而生的。如果只是做搜索引擎,那么感兴趣的信息就是互联网中尽可能多的高质量网页;如果要获取某一垂直领域的数据或者有明确的检索需求,那么感兴趣的信息就是根据我们的检索和需求所定位的这些信息,此时,需要过滤掉一些无用信息。前者我们称为通用网络爬虫,后者我们称为聚焦网络爬虫。

m0_72282564的博客 1980

[Python]网络爬虫总结

# [Python]网络爬虫总结 本文将对Python网络爬虫进行简要的总结,涵盖了我目前所使用的所有方法。 静态网页对于静态网页,就不多说了,太简单了。只要用requests库直接把html爬下来,然后用正则表达式匹配即可。但是到了目前互联网发展阶段,已经很少有静态网页了。如果你遇到要爬虫静态网页,那你一定是非常幸福了。动态网页动态网页是比较常见的爬虫目标,这里我给出一些比较常见的爬虫方法,仅

stary_yan的博客 1万+

爬虫基础(1)什么是网络爬虫

文章目录一. 认识网络爬虫二. 网络爬虫的组成三. 网络爬虫的类型1. 通用网络爬虫2. 聚焦网络爬虫3. 增量式网络爬虫4. 深层网络爬虫(1)静态网页(2)深层页面和表层页面(3)网络爬虫表单填写四. 网络爬虫的用途 一. 认识网络爬虫 说起网络爬虫,人们常常会用这样一个比喻:如果把互联网比喻成一张网,那么网络爬虫就可以认为是一个在网上爬来爬去的小虫子,它通过网页的链接地址来寻找网页,通过特定的搜索算法来确定路线,通常从网站的某一个页面开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地

Python达人 2841

1.网络爬虫概述

一、爬虫是什么? 二、爬虫可以做什么? 三、爬虫开发中有哪些技术?

qq_40407729的博客 5392

使用Python爬虫抓取金融新闻和财经数据

爬虫是通过模拟浏览器行为访问网站并抓取页面数据的程序。发送HTTP请求:爬虫向目标网站发送HTTP请求,获取网页内容。解析网页数据:爬虫解析HTML页面,提取出所需的数据信息。存储数据:将抓取到的数据存储到本地文件或者数据库中,以便后续分析。数据分析:对抓取的数据进行统计、分析和可视化,提取出有价值的信息。本文介绍了如何使用Python爬虫技术抓取金融新闻和股市数据。通过requestsSeleniumScrapy等工具,我们可以高效地抓取多个平台的数据,并进行分析。

2201_76125261的博客 1979

地理空间智能体(GI Agent)

地理空间智能体(Geospatial Intelligence Agent, GI Agent)是AI Agent技术与地理信息系统(GIS)深度融合的产物。其核心是以大型语言模型(LLM)为驱动,通过自然语言理解、任务分解和工具调用能力,实现地理空间任务的自动化执行。​关键特性​自主性​:独立规划任务流程(如空间数据检索、分析、可视化);​交互性​:支持自然语言对话交互,替代传统图形界面操作;​扩展性​:灵活集成第三方工具和API,支持跨平台协作。

百态·数智思维 | 聚焦大数据、量化与未来AI 2035

华科软院研究生第一学期的事项(奖学金、学业、考试等)

奖助 研究生补助 每月500,全年共6000元 每个月月底学院会打到银行卡里 碰上开学、过年会延后发放 17年10月底发了9、10两个月的钱 18年3月底发了2、3月的钱 学业奖学金 17届全日制每人都有 按照考研最后综合成绩排名 前16 10000 前80 8000 其他 4000 大概11月底发 注意:第一年如果有挂科的话,第二年就不能参加学业奖学金评...

sjdeak的博客 3707

WPS用户看过来:避开格式错乱坑,用WPS Office完美制作红头文件(2024最新版)

本文详细解析了WPS Office与Word在红头文件制作中的核心差异,提供了2024年最新版的零误差实战指南。从字体处理、页面布局到红头制作关键步骤,帮助用户避开格式错乱坑,确保跨设备显示一致。特别针对WPS用户优化,解决字体丢失、版式错位等常见问题。

weixin_26800111的博客 218

双足步行机器人的ZMP与CoP检测

静态步行与动态步行   机器人步态分为静态步行和动态步行。当机器人做静态步行运动时,身体的各个部分运动速度很小,机器人的整体稳定性较易控制。静态步行稳定性采用机器人的重心地面投影点(Center of Gravity,简称CoG)作为稳定性标准,这种判定方法适用于运动较为缓慢的情况。如果机器人采用的是一种高速运动的步行方式,则称之为动态步行。当机器人进行动态步行时,其重心的位置和加速度的大小时...

weixin_34112208的博客 5910

手把手教你用CODESYS将旧笔记本改造成软PLC(含证书配置避坑指南)

本文提供了一份详尽的指南,教你如何利用CODESYS平台将闲置旧笔记本改造为一台功能完整的软PLC。内容涵盖从硬件评估、系统实时性优化、软件安装与驱动配置,到关键的证书授权管理避坑指南,旨在帮助自动化工程师和爱好者低成本搭建稳定可靠的学习与开发平台。

weixin_29190573的博客 280

特征选择(模型输入参数的分析选择)方法汇总

特征选择是模式识别和机器学习领域的重要研究课题之一。为了提高准确率, 人们往往最大限度地提取特征信息。然而, 过大的特征向量维数不仅导致计算成本的增加, 复杂运算也随之带来分类识别率的下降。因此, 通过合适的特征选择算法, 去除无关特征和冗余特征, 获得有助于分类的最优特征子集, 对提高识别性能和降低计算成本具有重要意义。 特征选择主要有两个功能: 减少特征数量、降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解 参考资料: 优快云《几种常用的特征选择方法》 知乎《机器学习中,.

David's Tweet 1万+

Windows 11 IoT企业版LTSC 24H2/25H2中文版安装指南(含OEM激活教程)

本文详细介绍了Windows 11 IoT企业版LTSC 24H2/25H2中文版的安装与OEM激活全流程。从系统镜像准备、硬件兼容性检查到自动化安装配置,再到OEM激活方案(包括SLIC注入和数字许可证激活),为工业自动化、数字标牌等物联网设备提供稳定可靠的系统部署指南。

weixin_29198045的博客 8912

SAP-MM:SAP MM(物料管理)模块 的系统化学习计划

SAP MM模块的系统化学习计划

baidu_35680696的博客 1550

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: 【超详细】Python金融应用之爬虫(四)
下一篇: Python金融应用之爬虫(六)
Python_P叔
博客等级 码龄3年 5453粉丝 827原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值