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  

相关内容

热门资讯

技巧知识分享!潮汕激k辅助器(... 技巧知识分享!潮汕激k辅助器(辅助挂)切实真的是有挂(发现有挂辅助挂)1、在潮汕激k辅助器插件功能辅...
免费测试版!九九山城辅助(辅助... 您好,九九山城辅助这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在...
推荐十款!创思维激K辅助器开挂... 推荐十款!创思维激K辅助器开挂(辅助挂)都是存在有挂(有挂总结辅助挂)1、玩家可以在创思维激K辅助器...
一起来探讨!新超凡大厅辅助(辅... 一起来探讨!新超凡大厅辅助(辅助挂)都是有挂(有挂透明挂辅助器)1、实时新超凡大厅辅助透视辅助更新:...
总算明白!潮汕汇木虱辅助下载(... 总算明白!潮汕汇木虱辅助下载(辅助挂)原来真的是有挂(有挂透明挂辅助技巧)潮汕汇木虱辅助下载透视方法...
查到实测!欢乐对决辅助软件(辅... 查到实测!欢乐对决辅助软件(辅助挂)竟然有挂(有挂细节辅助神器)欢乐对决辅助软件辅助器是一种具有地方...
今日头条!皮皮游戏辅助平台(辅... 今日头条!皮皮游戏辅助平台(辅助挂)果然有挂(有挂教学辅助神器)皮皮游戏辅助平台脚本下载中分为三种模...
科普分享!雀神麻雀科技公司(辅... 科普分享!雀神麻雀科技公司(辅助挂)确实是真的有挂(有挂方针辅助教程)运雀神麻雀科技公司辅助工具,进...
重大科普!柳州八一字牌辅助(辅... 重大科普!柳州八一字牌辅助(辅助挂)本来真的有挂(有挂讲解辅助工具)1、下载好柳州八一字牌辅助脚本下...
总算清楚!川娱竞技插件(辅助挂... 总算清楚!川娱竞技插件(辅助挂)确实真的是有挂(有挂透视辅助攻略)1、让任何用户在无需川娱竞技插件安...