金融数据挖掘之爬虫技术进阶

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Python金融大数据挖掘与分析

第八讲金融数据挖掘之爬虫

技术进阶

8.1 爬虫进阶1 -IP代理简介

8.2 爬虫进阶2 -爬虫利器selenium库详解

第八讲金融数据挖掘之爬虫技

术进阶

爬虫过有些网站还是有数据获取的难度:

•网站对同一个IP的访问次数就有限制

•通过常规的爬虫技术没有办法获取网页源代码

有的网站对IP是有监控的:

如果IP在短时间内访问该网站太多次,那么该IP会被直接冻结,网络被该网站列入它的“黑名单”了

网页会跳出一个:

•“您的IP访问频率太高”的提示

•验证码让我们输入才可以解封

这将会导致之后的访问失败。

8.1.1 IP代理原理

IP有点类似于id,就是你所用网络的身份证号码

IP代理就是IP伪装,把本机的IP伪装成其他的IP地址。

IP代理商有海量IP地址,这些海量IP地址被称为IP代理池。

在这个IP代理池里提取IP地址

把提取IP地址写到Python程序里(自己的IP伪装成别的IP )这样躲过某些网站对于固定IP访问次数的限制。

查看自己的本机IP地址:

在百度搜索“IP地址”,第一个搜索结果就是自己的本机IP地址。

8.1.2 IP代理使用教程

(1)IP代理使用基础

只需要写如下代码,把第二行的‘IP代理地址’改成从IP代理池里提取IP地址就可以进行IP代理了,第五行也可以加上headers和timeout:

8.1.2 IP代理使用教程

(2) 优秀代理商介绍及代理使用实战

网上有挺多免费代理,但是通常不稳定,这边不推荐

通过百度搜索“IP代理”,也能搜索到很多IP代理服务

推荐一款个人用的较多的IP代理商:讯代理

用来学习或用作商业用途,可以根据自己的使用量来选择进行按量购买或者按时购买。

讯代理官网地址为:

其代理购买地址为:/buyproxy,如下图所示:

8.1 爬虫进阶1 -IP代理简介8.1.2 IP代理使用教程

(2) 讯代理–使用方法:

1.登录账号后,点击右上角进入个人中心;

2.选择我的订单,会看到刚刚购买的订单;

3.点击生成API,进入API生成新页面(API就是接口的意思,接口就是让你可以连接到讯代理的IP池)。将API链接复制下来。

8.1.2 IP代理使用教程

(2) 讯代理–使用方法:

在弹出的生成API界面,下面的步骤为:

1.选择刚刚购买的订单

2.提取数量选择1

3.选择TXT数据格式

4.点击生成API链接

5.点击复制,将API链接复制下来。

8.1.2 IP代理使用教程

(2) 讯代理–使用方法:

先简单测试下复制完的API:

把该链接复制到浏览器的搜索框中,会发现已经成功提取了一个IP了,如下图中的123.54.59.149:27647就是一个IP地址了:

8.1.2 IP代理使用教程

(2) 讯代理–使用方法:

我们现在可以更改第二行以适应新的Ip地址,原来的代码:

新的proxy()代码,注意有两行:

8.1.2 IP代理使用教程(2) Python Ip代理代码:

Selenium是一个自动化测试工具,它能够驱动浏览器模拟人的操作,比如鼠标点击,键盘输入等操作

8.2.1 网络数据挖掘遇到的难点

通过selenium库能够相对比较容易地获取到网页的源代码,还可以进行网络内容的批量自动下载等。

比如上交所公开信息及新浪财经的股票实时数据等,里面也没有想要的内容,因为真正的源代码被隐藏了。

8.2.1 网络数据挖掘遇到的难点

以新浪财经上的上证综合指数为例,在浏览器上按F12是可以看到相关内容的。

8.2.1 网络数据挖掘遇到的难点

然而用常规代码res = requests.get(url).text,的方式来访问新浪财经的上证指数。发现在源代码里并不能搜索到刚刚看到的相关数据:

因为用F12看到的其实是网站已经渲染后的信息

一个快速验证的办法就是在网页上右击,然后选择“查看网页源代码”

8.2.2 网页模拟器-ChromeDriver安装

面对8.2.1题出的问题selenium库就是一个不错的解决办法,利用它可以快速获取到网页真正的源码以及模拟人在浏览器上的操作。

首先先安装一个网页模拟器:ChromeDriver。ChromeDriver作用是给Pyhton提供一个模拟浏览器:

让Python能够运行一个模拟的浏览器进行网页访问

用selenium进行鼠标及键盘等操作获取到网页真正的源代码

(1)安装Chrome谷歌浏览器

在2.1里面已讲过。

(2) 查看Chrome浏览器版本

如果你的Chrome浏览器是最近刚下载的,那么忽略该步骤。

如果不是,先来查看下自己Chrome浏览器的版本的方式:

点击谷歌浏览器右上角的菜单栏,选择帮助,选择关于Google Chrome。

在弹出的页面里就可以查看自己安装

的Chrome版本号了:

(3) ChromeDriver下载

ChromeDriver官方下载地址:

https:///a//chromedriver/download s。进入官网后,选择适合自己谷歌浏览器版本的ChromeDriver,如果你的Chrome版本是下图所示的v81-79,那么选择相应版本下载即可。在上一页,它说我们的chrome版本已经是最新版本了,我们无法更新到v81,因此我们只能下载v80:

相关文档
最新文档