16

用Python爬取金融市场数据

一、写在前面

由于在平时的工作中,需要对某信托网的信托在售和资管在售数据进行统计分析,但是一条一条的输入,显然太过耗时耗力,于是萌生了写个爬虫的想法。

一门计算机语言,可以当做是在模仿人的目的或意图来进行一系列行为或动作,所以在写代码之前,首先要弄清楚你要干什么,如果是你,你每一步的动作是什么,然后将这一步步的动作通过代码传递给计算机,让计算机高效的帮你完成即可。

本文结合正则表达式和比较流行的beautifulsoup(bs4),对网页进行解析并提取数据,因此在正式进行之前,有必要简单介绍下正则表达式和bs4. Continue reading

04

Python爬虫之PySpider框架安装配置

1. phantomjs

PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API。它全面支持web而不需浏览器支持,其快速、原生支持各种Web标准:DOM 处理、CSS 选择器、JSON、Canvas 和 SVG。 PhantomJS 可以用于页面自动化、网络监测、网页截屏以及无界面测试等。

以下附有官方安装方式,如果你是 Ubuntu 或 Mac OS X用户,可以直接用命令来安装

Ubuntu:

Mac OS X:

很不幸的是,phantomjs已不再更新。替代品是Selenium+Headless Firefox,详细介绍在这里 >> 。

2. pyspider

直接利用 pip 安装即可

如果你是 Ubuntu 用户,请提前安装好以下支持类库

测试

如果安装过程没有提示任何错误,那就证明一些OK。

命令行输入

然后浏览器访问 http://localhost:5000

15

初识python爬虫框架scrapy

好东西要学习

项目目录结构

这些文件分别是:

  • scrapy.cfg: 项目的配置文件
  • tutorial/: 该项目的python模块。之后您将在此加入代码。
  • tutorial/items.py: 项目中的item文件.
  • tutorial/pipelines.py: 项目中的pipelines文件.
  • tutorial/settings.py: 项目的设置文件.
  • tutorial/spiders/: 放置spider代码的目录.

接下来,进入到项目目录中:

创建一个新的spider:

可用的工具命令(tool commands)

可以通过运行命令来获取关于每个命令的详细内容:

您也可以查看所有可用的命令:

Scrapy提供了两种类型的命令。一种必须在Scrapy项目中运行(针对项目(Project-specific)的命令),另外一种则不需要(全局命令)。全局命令在项目中运行时的表现可能会与在非项目中运行有些许差别(因为可能会使用项目的设定)。

全局命令:

项目(Project-only)命令:

自定义项目命令

您也可以通过 COMMANDS_MODULE 来添加您自己的项目命令。您可以以 scrapy/commands 中Scrapy commands为例来了解如何实现您的命令。

COMMANDS_MODULE

Default: '' (empty string)

用于查找添加自定义Scrapy命令的模块。

例子:

Continue reading