需求:
爬取体育彩票高频游戏-北京11选5的开奖结果
实现计划:
使用Scrapy从网页上爬取
实现步骤:
1、准备一个开发测试环境,笔者使用的是:
1
2
3
|
1
)Ubuntu16.
04
2
)Python
2.7
.
12
3
)Scrapy
1.2
.
0
|
2、创建一个scrapy工程:
scrapy startproject ElevenPFiveSpider
结果如下:
整个项目的目录结构如下(红色圈中范围,其他是后续添加的):
3、定义Item
Item是保存爬取到的数据的容器,笔者将需要抓取的数据结构放入到这里。其中关键字段为奖期、开奖号码(实际上,后来发现发现是没有必要的,因为笔者直接将抓取的数据存入到数据库中,建立的数据容器基本没怎么用),实现代码如下:
在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、运行结果:
本文转自 许大树 51CTO博客,原文链接:http://blog.51cto.com/abelxu/1871752,如需转载请自行联系原作者