Scrapy爬取彩票开奖结果的实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrapy爬取彩票开奖结果的实现相关的知识,希望对你有一定的参考价值。

需求:

爬取体育彩票高频游戏-北京11选5的开奖结果


实现计划:

使用Scrapy从网页上爬取


实现步骤:

1、准备一个开发测试环境,笔者使用的是:

    1)Ubuntu16.04
    2)Python 2.7.12
    3)Scrapy 1.2.0

2、创建一个scrapy工程:  

    scrapy startproject ElevenPFiveSpider


结果如下:

技术分享

整个项目的目录结构如下(红色圈中范围,其他是后续添加的):

技术分享

3、定义Item

Item是保存爬取到的数据的容器,笔者将需要抓取的数据结构放入到这里。其中关键字段为奖期、开奖号码(实际上,后来发现发现是没有必要的,因为笔者直接将抓取的数据存入到数据库中,建立的数据容器基本没怎么用),实现代码如下:

技术分享4、编写爬虫

在spiders文件夹下创建爬取数据的类,包含了初始URL,如何跟进网页中的链接以及如何分析页面中的内容,实现代码如下:

技术分享

说明:

A、提取数据项需要使用到Selectors选择器,它使用了一种基于xpath和css表达式的机制。具体的使用方法,请参考:

    Scrapy入门教程http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html

    Scrapy文档https://scrapy.org/doc/

B、爬取的网站使用了加密技术,需要进行解密操作。留心的读者可以查看它的加密机制其实特别easy,只需要建立特定的解密字典即可;

5、运行结果:

技术分享




本文出自 “许大树” 博客,谢绝转载!

以上是关于Scrapy爬取彩票开奖结果的实现的主要内容,如果未能解决你的问题,请参考以下文章

scrapy主动退出爬虫的代码片段(python3)

爬虫爬取某彩票网站的历史数据,并进行分析

python爬取七星彩的开奖历史记录

scrapy怎么跟进爬取url

scrapy-redis实现分布式爬取知乎问答

Scrapy-redis改造scrapy实现分布式多进程爬取