分享好友 生活信息首页 生活信息分类 切换频道
Python金融数据挖掘(一)——从数据获取到探索性分析的全流程实训
2024-12-23 20:03

本文是博主大二初学python数据挖掘时所做的基础练习,目的是在理论学习的基础上,通过平常训练加深对各项技术概念的理解和应用,初学python还有很多不足,大家在阅读过程中发现有可以改进的地方欢迎私信或者评论区与我讨论。

话不多说,我们进入正题,本文讲述训练是爬虫技术基础~

在开始看网页结构之前,请大家务必明确以下几点基础知识(其中HTML标签的认知在爬虫程序编写中很关键

1. HTML基础知识

• HTML标签了解常见的HTML标签,如<html>、<head>、<body>、<title>、<div>、<span>、<a>、<img>等。

• 属性学习如何识别和使用标签的属性,例如href、src、class、id等。

文档结构理解HTML文档的基本结构,包括文档类型声明(<!DOCTYPE html>)、头部(<head>)和主体(<body>)部分。

2. CSS选择器

• 基本选择器了解如何使用ID选择器(#id)、类选择器(.class)和标签选择器(tag)来定位元素。

• 复合选择器学习如何组合选择器,例如使用子选择器(parent > child)、后代选择器(ancestor descendant)、相邻兄弟选择器(element1 + element2)等。

• 属性选择器学习如何使用属性选择器(如[attr=value])来定位具有特定属性值的元素。

3. DOM树

• DOM节点理解DOM树中的不同类型的节点,包括元素节点、文本节点、属性节点等。

• DOM层次结构学习如何查看元素的父级、子级和兄弟节点。

• DOM操作了解如何使用JavaScript或爬虫库(如BeautifulSoup)来遍历和操作DOM树。

4. JavaScript动态内容

• 异步加载了解如何识别和处理页面上的异步加载内容,例如通过AJAX请求加载的数据。

• 事件监听器学习如何跟踪和模拟用户交互事件,如点击按钮、滚动页面等。

• JavaScript框架了解常见的JavaScript框架(如React、Angular、Vue.js)的特点及其对爬虫的影响

以上的相关内容大家自行了解,一搜关键字就有很多详细科普了,了解了之后就可以正式开启网页爬虫之旅了~

我认为开始爬虫实践的第一步,是会查看网页源代码,下面列举的是几种常用方法

1.使用浏览器的“查看源代码”功能

• 右键菜单在网页上右键点击,选择“查看网页源代码”或类似的选项。

• 快捷键在某些浏览器中,可以使用快捷键 Ctrl + U (Windows/Linux)或 Cmd + Option + U (Mac)来打开源代码视图。

2. 使用浏览器的开发者工具(不仅可以查看HTML源码,还可以查看CSS和JavaScript等

• 打开开发者工具可以通过按下 F12 键或右键点击网页选择“检查”来打开开发者工具。

• 查看源代码在开发者工具中,通常有一个“Elements”或“Inspector”选项卡,在这里可以看到HTML源代码,并且可以逐层展开查看各个元素。

3. 保存网页为HTML文件后查看

• 保存网页可以将网页保存为完整的HTML文件。

• 使用文本编辑器打开使用文本编辑器打开保存的HTML文件,查看源代码。

我使用的是第二种源代码查阅方法,打开界面如下

Python金融数据挖掘(一)——从数据获取到探索性分析的全流程实训

单击代码显示框左侧的导航栏第一个图标之后,将光标移动到你想看的网页内容并选中,会自动跳转到对应代码

学会如何看懂网页源代码之后,尝试怎么通过python程序获取吧

1.源代码

这里需要特别注意的是headers的内容,headers={''}中,单引号里面的内容是用户代理,我们使用的浏览器都有不同的用户代理(相当于我们的个人名片,因为有些网站会设置反爬虫机制,但是我们平时通过浏览器又可以正常访问,headers这句话的作用就是把python程序伪装成浏览器访问网站,不建议在爬取网站的时候用我们自己的用户代理,因为实训过程中频繁爬取也会被网站发现,被ban了之后我们至少有一段时间都不能用自己的浏览器访问目标网站了,所以大家可以在网上找一些虚拟的用户代理。

 

2.运行结果

正则表达式是一种强大的文本匹配工具,用于描述字符串模式,可以用于搜索、替换或提取文本中的特定模式。网页源代码中蕴含的文字、标签很多,我们想从中筛选出自己所需要的关键信息(也就是数据清洗,就需要使用正则表达式,这里仅列举一些常用的清洗方式,大家根据需求自行拓展。

1.findall()函数

• 简介findall()函数是Python的re模块中用于查找所有匹配项的一个非常有用的函数。它可以用来搜索一个字符串中的所有匹配项,并将它们作为一个列表返回。

• 基本语法

re.findall(pattern, string, flags=0)

pattern:要匹配的正则表达式
string:要搜索的字符串
flags:可选参数,用于指定匹配模式,如忽略大小写、多行模式等。

• 使用示例

2.非贪婪匹配

• 简介非贪婪匹配(也称为懒惰匹配或最小匹配)是指在使用正则表达式时,尽可能少地匹配字符,例如,当你试图匹配一个标签内部的内容时,非贪婪匹配可以确保你只匹配到标签内部的内容而不包括后面的其他内容。

1)非贪婪匹配之(.*?)

(.*? )是用于表示非贪婪匹配任意数量的任意字符,具体含义如下

(  ):表示一个捕获组,用于捕获匹配的文本

.:匹配任意单个字符(除了换行符

*:表示前面的模式可以出现零次或多次

?:使前面的量词变为非贪婪模式,即尽可能少地匹配字符。

• 使用示例

2)非贪婪匹配之.*?

(就是少了上文有括号的功能

.:匹配任意单个字符(除了换行符

*:表示前面的模式可以出现零次或多次

?:使前面的量词变为非贪婪模式,即尽可能少地匹配字符。

• 使用示例

 3.自动考虑换行的修饰符re.S

• 简介re.S 是一个修饰符,它使“."可以匹配包括换行符在内的任何字符。默认情况下"." 不会匹配换行符,但是使用 re.S 修饰符后,“.”就可以匹配任何字符,包括换行符。

使用示例

 4.sub()函数

• 简介sub()函数用于在字符串中查找并替换匹配的模式,它允许使用正则表达式来指定要替换的模式,并提供替换文本。

• 基本语法

re.sub(pattern, repl, string, count=0, flags=0)

pattern:要匹配的正则表达式
repl:用于替换匹配项的字符串或函数
string:要搜索和替换的原始字符串
count:可选参数,指定最大替换次数。默认为0,表示替换所有匹配项
flags:可选参数,用于指定匹配模式,如忽略大小写、多行模式等。

• 使用示例

 常见清洗应用就讲到这里,接下来尝试应用吧~

1.爬取一家公司的百度新闻

1)源代码
 
2)程序运行结果

 2.批量爬取多家公司的百度新闻

1)源代码
 
2)程序运行结果
    以上就是本篇文章【Python金融数据挖掘(一)——从数据获取到探索性分析的全流程实训】的全部内容了,欢迎阅览 ! 文章地址:http://w.yusign.com/tjnews/1032.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 述古往 http://w.yusign.com/mobile/ , 查看更多   
最新新闻
学科教学历史考研院校有哪些
对于计划参加学科教学历史考研的研究生来说,选择合适的院校是至关重要的。以下是一些知名的院校,它们在学科教学历史领域中享有
百度停PC浏览器服务 国研政情·经济信息智库:挽不回市场
百度停PC浏览器服务 国研政情·经济信息智库:挽不回市场(赵晨 驱动中国)新闻中国采编网 中国新闻采编网 谋定研究·中国智库网
更多安狗狗清理大师安卓历史版本(6个)
安狗狗清理大师,完全免费的手机空间清理、手机加速的软件。 1:应用信息清理大师,一款专注安卓用户的专业手机清理软件。体积小
六款超级神器!Markdown编辑器、Windows系统安装和禁止自动更新、图片批量修改公交、安全移除USB设备和微信输入法。
大家好,我是北山!本期分享几款免费优质的工具神器,Markdown编辑器、Windows系统安装工具、图片批量修改神器、禁止Windows自动
孝感爱采购标题撰写
百度爱采购也有付费会员和免费会员两类,一般来说付费的优先展示。但这不是全部因素,百度爱采购还会从大数据、用户浏览数据、页
日照网站建设排名优化,打造高效、用户友好的网站,提升搜索引擎排名,日照网站建设哪家好
日照网站建设优化,旨在打造高效、用户友好的网站,提升搜索引擎排名。选择一家好的网站建设公司至关重要,如日照市领先的网络科
漫蛙App官网入口及使用指南:全方位探索动漫世界的必备工具
随着数字化时代的到来,动漫已经成为了全球文化中的重要一部分,而随着动漫爱好者需求的增加,各种相关的应用程序也应运而生。漫
湖北亿纬动力取得一种测试用夹持装置专利,能保证垂直测量的角度,提高垂直测量的可靠性
金融界2024年12月11日消息,国家知识产权局信息显示,湖北亿纬动力有限公司取得一项名为“一种测试用夹持装置”的专利,授权公告
明天有小雪,气温下降,雪后风大!
市气象台12月11日14时发布:今天下午晴间多云,北转南风二三级,最高气温6℃;夜间晴转多云,南转北风一二级,最低气温零下3℃。
天正三亚湾壹号-售楼中心丨楼盘解析丨户型、价格丨最新优惠
跨山越海丨在三亚湾奔赴心之所向☎售楼处热线:0898-66599661【售楼中心】☎专属金牌置业顾问:13379996468【微信同步】★★售楼