APP下载

基于Python的股票数据爬虫程序设计

2018-04-19彭莉

活力 2018年24期
关键词:爬虫二进制浏览器

彭莉

引言

Python是一种面向对象、解释型、带有动态语义的高级程序设计语言,其语法简洁清晰,具有丰富和强大的类库。Python语言支持覆盖信息技术各领域的10万个函数库,依靠开源快速开发,形成了全球最大的编程社区。

基于Python的爬虫与其他语言相比的有很多优势,本文主要是对Python爬虫技术进行阐述。通过爬去某个网站的所有新闻这个案例,来进一步阐释Python爬虫技术的简洁。

一、爬虫的概念

网络爬虫(也称为网络蜘蛛、网络机器人,在FOAF社区中,更常被称为网络追逐者)是根据某些规则自动从万维网获取信息的程序或脚本,不常用的其他名称包括蚂蚁、自动索引、仿真程序或蠕虫。

二、爬虫的基本流程

发起请求:通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。

獲取响应内容:如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能有HTML、Json字符串、二进制数据(如图片视频)等类型。

解析内容:得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析。可能是Json,可以直接转为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理。

保存数据:保存形式多样,可以存为文本,也可以保存至数据库,或者保存特定格式的文件。

(一)Request和Response

Request:浏览器就发送消息给该网址所在的服务器,这个过程叫做HTTPRequest。Response:服务器收到浏览器发送的消息后,能够根据浏览器发送消息的内容,做相应处理,然后把消息回传给浏览器。这个过程叫作HTTPResponse。浏览器收到服务器的Response信息后,会对信息进行相应处理,然后展示。

(二)抓取数据类型

网页文本:如HqTVIL文档、Json格式文本等。图片:获取到的是二进制文件,保存为图片格式。视频:同为二进制文件,保存为视频格式即可。And so on:只要是能请求到的,都能获取。

(三)解析方式

直接处理,Json解析,正则表达式,BeautifulSoup库PyQuery库和XPath库。

(四)保存数据

文本:纯文本、Json、Xml等。关系型数据库:如MySQL、Oracle、SQL Server等具有结构化表结构形式存储。非关系型数据库:如MongoDB、Redis等Key-Value形式存储。二进制文件:如图片、视频、音频等等直接保存成特定格式即可。

三、案例:爬取某个网站股票信息

猜你喜欢

爬虫二进制浏览器
基于Python的网络爬虫和反爬虫技术研究
有用的二进制
Python反爬虫设计
用Scratch把十进制转为二进制
有趣的进度
微软发布新Edge浏览器预览版下载换装Chrome内核
基于Scrapy框架的分布式网络爬虫的研究与实现
谁抢走了低价机票
浏览器
lE8设置技巧大放送