03 python38的scrapy处理json格式数据
创始人
2025-01-17 03:04:06
0

1 json文档爬取或者获取ajax请求的json格式数据

1.0 网站分析

#网址:http://www.cwl.gov.cn/ygkj/wqkjgg/ssq/ #列表页分析: 第一页:http://www.cwl.gov.cn/cwl_admin/front/cwlkj/search/kjxx/findDrawNotice?name=ssq&issueCount=&issueStart=&issueEnd=&dayStart=&dayEnd=&pageNo=1&pageSize=30&week=&systemType=PC 第二页:http://www.cwl.gov.cn/cwl_admin/front/cwlkj/search/kjxx/findDrawNotice?name=ssq&issueCount=&issueStart=&issueEnd=&dayStart=&dayEnd=&pageNo=2&pageSize=30&week=&systemType=PC 最后一页:http://www.cwl.gov.cn/cwl_admin/front/cwlkj/search/kjxx/findDrawNotice?name=ssq&issueCount=&issueStart=&issueEnd=&dayStart=&dayEnd=&pageNo=542&pageSize=30&week=&systemType=PC  请求方式get 参数修改pageNo 返回数据为json  

1.1 创建项目

scrapy startproject doubanSpider  cd ssqSpider scrapy genspider douban douban.com 

1.2 创建爬虫

scrapy genspider douban "douban.com" 

1.3 添加爬虫模型

import scrapy  class DoubanMovieItem(scrapy.Item):     # define the fields for your item here like:     # name = scrapy.Field()     title = scrapy.Field() #标题        stars = scrapy.Field() #分数        subject = scrapy.Field() #主题        pass  

1.4 修改爬虫代码,列表页的多页数据为例子

1.5.1 数据为json文档时使用response.json()

import scrapy from scrapy.http import HtmlResponse from scrapy import Request from ssqSpider.items import SsqspiderItem   class SsqSpider(scrapy.Spider):     name = "ssq"     allowed_domains = ["www.cwl.gov.cn"]     start_urls = ["https://cwl.gov.cn"]     # start_urls = ["http://www.cwl.gov.cn/cwl_admin/front/cwlkj/search/kjxx/findDrawNotice?name=ssq&issueCount=&issueStart=&issueEnd=&dayStart=&dayEnd=&pageNo=1&pageSize=30&week=&systemType=PC"]      def start_requests(self):         for page in range(1,55):   ## 1-54页,range为左闭右开             url=f'http://www.cwl.gov.cn/cwl_admin/front/cwlkj/search/kjxx/findDrawNotice?name=ssq&issueCount=&issueStart=&issueEnd=&dayStart=&dayEnd=&pageNo={page}&pageSize=30&week=&systemType=PC'                     yield Request(url=url,dont_filter=True)  # 如果有302跳转加入dont_filter=True      def parse(self, response:HtmlResponse):                # print(response.json())                data=response.json()         result=data['result']         for i in result:             item=SsqspiderItem()             # print(i)             item['qihao']=i['code']             item['riqi']=i['date']             item['kaijianghaoma_red']=i['red']             item['kaijianghaoma_blue']=i['blue']                          item['jiangchijiner']=i['poolmoney']             item['xiaoshouer']=i['sales']              yield item   

1.5.2 测试运行爬虫

scrapy crawl douban  #正式运行 或者 scrapy crawl douban -o douban.csv  

相关内容

热门资讯

四分钟了解!青龙辅助最新下载(... 四分钟了解!青龙辅助最新下载(辅助)美味冰淇淋开挂辅助下载-总是是有app1、青龙辅助最新下载破解器...
今日!拱趴大菠萝开挂方法,德普... 今日!拱趴大菠萝开挂方法,德普之星私人局辅助免费(透视)果然是真的辅助教程(哔哩哔哩)1、操作简单,...
第九分钟了解!微乐春天扑克开挂... 第九分钟了解!微乐春天扑克开挂辅助插件(辅助)江城互娱开挂辅助神器-本来是真的插件微乐春天扑克开挂辅...
透视透视!aa poker辅助... 透视透视!aa poker辅助,德普之星辅助工具如何设置(透视)确实是有辅助攻略(哔哩哔哩)1、金币...
七分钟了解!789大菠萝插件功... 七分钟了解!789大菠萝插件功能(辅助)兴动互娱开挂辅助安装-真是真的是有app1、打开软件启动之后...
日前!拱趴游戏破解器,德普之星... 日前!拱趴游戏破解器,德普之星透视免费(透视)竟然存在有辅助攻略(哔哩哔哩)1、日前!拱趴游戏破解器...
六分钟了解!如何判断广东雀神插... 六分钟了解!如何判断广东雀神插件真伪(辅助)双喜开挂辅助插件-切实有挂脚本1、如何判断广东雀神插件真...
网友热议!pokemmo手机脚... 网友热议!pokemmo手机脚本辅助器,德普之星辅助软件(透视)原来真的是有辅助神器(哔哩哔哩)一、...
1分钟了解!小程序跑的快辅助器... 1分钟了解!小程序跑的快辅助器(辅助)越乡游斗牛开挂辅助神器-一贯是有工具小程序跑的快辅助器是不是有...
软件辅助挂!werplan脚本... 软件辅助挂!werplan脚本,德普之星透视辅助软件下载(透视)都是有辅助脚本(哔哩哔哩)1、wer...