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  

相关内容

热门资讯

九分钟辅助“战皇大厅辅助排行”... 战皇大厅辅助排行 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: 1...
教程辅助“威信茶馆透视挂”开挂... 教程辅助“威信茶馆透视挂”开挂(透视)辅助神器-知乎;无需打开直接搜索打开薇:136704302 咨...
一分钟揭秘"都莱大菠... 一分钟揭秘"都莱大菠萝怎么赢"开挂(插件)辅助插件详细教程-有挂技术;无需打开直接搜索加薇13670...
一分钟教你“赣牌圈挂怎么用”附... 赣牌圈挂怎么用是一款专注玩家量身打造的游戏记牌类型软件,在赣牌圈挂怎么用这款游戏中我们可以记录下每张...
两分钟辅助“来趣广西辅助”开挂... 两分钟辅助“来趣广西辅助”开挂(透视)辅助安装必备教程-知乎;无需打开直接搜索薇:136704302...
教程辅助“微信茶馆辅助”开挂(... 教程辅助“微信茶馆辅助”开挂(透视)辅助器-哔哩哔哩 【无需打开直接搜索加薇136704302咨询;...
科技新动态"新上游辅... 新上游辅助软件是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微信...
重大推荐“樱花之盛辅助”附开挂... 重大推荐“樱花之盛辅助”附开挂工具辅助详细教程樱花之盛辅助ai黑科技系统规律教程开挂技巧 1、操作简...
九分钟辅助“小程序游戏辅助必赢... 【亲,小程序游戏辅助必赢 这款游戏可以开挂的,确实是有挂的,很多玩家在这款小程序游戏辅助必赢中打牌都...
教程辅助“游戏破解器100%破... 教程辅助“游戏破解器100%破解”开挂(透视)辅助插件-哔哩哔哩;无需打开直接搜索加(薇:13670...