上次做了一个双色球的数据爬取,其实大乐透的爬取也很简单,使用request就可以爬取,但是为了更好的进步,这次爬取大乐透采用了scrapy框架。
scrapy框架的运行机制不介绍了,不懂的先去google了解下吧;
..
..
一、创建项目
我使用的是windows进行开发的,所以需要在windows上安装好scrapy;假设已安装好该框架;
1、打开cmd,运行
scrapy startproject lottery_spider
命令,会在命令运行的文件下生成一个lottery_spider的项目
.
2、再执行 cd lottery_spider 进入lottery_spider项目,执行
scrapy gensiper lottery "www.lottery.gov.cn"
lottery 为爬虫文件;
www.lottery.gov.cn 为目标网站;
创建完毕后会在项目的 spider文件夹下生成爬虫文件: lottery.py
..
..
二、项目内的各个文件代码
1、items.py
# -*- coding: utf-8 -*-
# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.html
import scrapy
class LotterySpiderItem(scrapy.Item):
qihao = scrapy.Field()
bule_ball = scrapy.Field()
red_ball = scrapy.Field()
此文件定义了数据的模型,就是数据的参数;qihao、bule_ball、red_ball ;
.
2、lottery.py
# -*- coding: utf-8 -*-
import scrapy
from lottery_spider.items import LotterySpiderItem
class LotterySpider(scrapy.Spider):
name = 'lottery'
allowed_domains = ['gov.cn'] #允许爬虫爬取目标网站的域名,此域名之外的不会爬取;
start_urls = ['http://www.lottery.gov.cn/historykj/history_1.jspx?_ltype=dlt'] #起始页;从合格web开始爬取;
def parse(self, response):
#使用xpath获取数据前的路径,返回一个list的格式数据;
results = response.xpath("//div[@class='yylMain']//div[@class='result']//tbody//tr&

本文介绍如何使用Scrapy框架在Windows环境下爬取大乐透彩票历史数据。首先通过`scrapy startproject`和`scrapy genspider`创建项目和爬虫,接着在`items.py`中定义数据模型,`lottery.py`中编写爬虫逻辑,`pipelines.py`用于数据保存,最后在`settings.py`配置项目设置,并通过`start.py`运行爬虫。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



