接着上一篇文章,我们已经可以用爬虫访问目标网站爬取页面了,现在需要自动提交表单查询数据,并且从页面中筛选出每期中奖号码保存为json文件导出。首先创建一个scrapy.Item类(打开项目文件夹下的items.py文件):
import scrapy
class SsqSpiderItem(scrapy.Item):
issue_num = scrapy.Field()
red = scrapy.Field()
blue = scrapy.Field()
我们需要爬取每期中奖号码的期数,以及红球数组和蓝球号;定义属性值为scrapy.Field()。然后回到爬虫代码引入这个类:
from ssq_spider.items import SsqSpiderItem
直接贴一个写好的代码:
# -*- coding: utf-8 -*-
import scrapy
from scrapy.http import Request, FormRequest
from ssq_spider.items import SsqSpiderItem
class SsqSpider(scrapy.Spider):
name = 'ssq'
allowed_domains = ['http://zst.aicai.com/ssq/'] # 爬取域名
# start_urls = ['http://zst.aicai.com/ssq/']
# 爬取网址,只适于不需要提交cookie的网站,因为没法设置cookie等信息
scope_date = [['2012001', '2014200'],