Python教程栏目介绍爬取Json数据实例

相关免费学习推荐:python教程(视频)

本文中以爬取其中的AI流转率数据为例。

该地址返回的响应内容为Json类型,其中红框标记的项即为AI流转率值:

实现代码如下:import requests

import json

import csv

# 爬虫地址

url = 'https://databank.yushanfang.com/api/ecapi?path=/databank/crowdFullLink/flowInfo&fromCrowdId=3312&beginTheDate=201810{}&endTheDate=201810{}&toCrowdIdList[0]=3312&toCrowdIdList[1]=3313&toCrowdIdList[2]=3314&toCrowdIdList[3]=3315'

# 携带cookie进行访问

headers = {

'Host':'databank.yushanfang.com',

'Referer':'https://databank.yushanfang.com/',

'Connection':'keep-alive',

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36',

'Cookie':'_tb_token_=iNkDeJLdM3MgvKjhsfdW; bs_n_lang=zh_CN; cna=aaj1EViI7x0CATo9kTKvjzgS; ck2=072de851f1c02d5c7bac555f64c5c66d; c_token=c74594b486f8de731e2608cb9526a3f2; an=5YWo5qOJ5pe25Luj5a6Y5pa55peX6Iiw5bqXOnpmeA%3D%3D; lg=true; sg=\"=19\"; lvc=sAhojs49PcqHQQ%3D%3D; isg=BPT0Md7dE_ic5Ie3Oa85RxaMxbLK3UqJMMiN6o5VjH8C-ZRDtt7aRXb3fXGEAVAP',

}

rows = []

for n in range(20, 31):

row = []

row.append(n)

for m in range (21, 32):

if m < n + 1:

row.append("")

else:

# 格式化请求地址,更换请求参数

reqUrl = url.format(n, m)

# 打印本次请求地址

print(url)

# 发送请求,获取响应结果

response = requests.get(url=reqUrl, headers=headers, verify=False)

text = response.text

# 打印本次请求响应内容

print(text)

# 将响应内容转换为Json对象

jsonobj = json.loads(text)

# 从Json对象获取想要的内容

toCntPercent = jsonobj['data']['interCrowdInfo'][1]['toCntPercent']

# 生成行数据

row.append(str(toCntPercent)+"%")

# 保存行数据

rows.append(row)

# 生成Excel表头

header = ['AI流转率', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31']

# 将表头数据和爬虫数据导出到Excel文件

with open('D:\\res\\pachong\\tmall.csv', 'w', encoding='gb18030') as f :

f_csv = csv.writer(f)

f_csv.writerow(header)

f_csv.writerows(rows)import csv

import json

import ssl

import urllib.request

# 爬虫地址

url = 'https://databank.yushanfang.com/api/ecapi?path=/databank/crowdFullLink/flowInfo&fromCrowdId=3312&beginTheDate=201810{}&endTheDate=201810{}&toCrowdIdList[0]=3312&toCrowdIdList[1]=3313&toCrowdIdList[2]=3314&toCrowdIdList[3]=3315'

# 不校验证书

ssl._create_default_https_context = ssl._create_unverified_context

# 携带cookie进行访问

headers = {

'Host':'databank.yushanfang.com',

'Referer':'https://databank.yushanfang.com/',

'Connection':'keep-alive',

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36',

'Cookie':'_tb_token_=iNkDeJLdM3MgvKjhsfdW; bs_n_lang=zh_CN; cna=aaj1EViI7x0CATo9kTKvjzgS; ck2=072de851f1c02d5c7bac555f64c5c66d; c_token=c74594b486f8de731e2608cb9526a3f2; an=5YWo5qOJ5pe25Luj5a6Y5pa55peX6Iiw5bqXOnpmeA%3D%3D; lg=true; sg=\"=19\"; lvc=sAhojs49PcqHQQ%3D%3D; isg=BPT0Md7dE_ic5Ie3Oa85RxaMxbLK3UqJMMiN6o5VjH8C-ZRDtt7aRXb3fXGEAVAP',

}

rows = []

n = 20

while n <31:

row = []

row.append(n)

m =21

while m <32:

if m < n + 1:

row.append("")

else:

# 格式化请求地址,更换请求参数

reqUrl = url.format(n, m)

# 打印本次请求地址

print(reqUrl)

# 发送请求,获取响应结果

request = urllib.request.Request(url=reqUrl, headers=headers)

response = urllib.request.urlopen(request)

text = response.read().decode('utf8')

# 打印本次请求响应内容

print(text)

# 将响应内容转换为Json对象

jsonobj = json.loads(text)

# 从Json对象获取想要的内容

toCntPercent = jsonobj['data']['interCrowdInfo'][1]['toCntPercent']

# 生成行数据

row.append(str(toCntPercent) + "%")

m = m+1

rows.append(row)

n = n+1

# 生成Excel表头

header = ['AI流转率', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31']

# 将表头数据和爬虫数据导出到Excel文件

with open('D:\\res\\pachong\\tmall.csv', 'w', encoding='gb18030') as f :

f_csv = csv.writer(f)

f_csv.writerow(header)

f_csv.writerows(rows)

导出内容如下:

到此这篇关于使用Python爬取Json数据的文章就介绍到这了。相关免费学习推荐:php编程(视频)

python爬取json简单吗_Python爬取Json数据的示例相关推荐

  1. python爬取音乐并保存_python爬取QQ音乐歌单歌曲保存到本地,json解析

    序:python强大的功能,可以爬取网上的某些信息,本次主要是通过爬歌单信息熟悉下python基础. 用到知识点: 1.python3.urllib.request.openurl 2.json (j ...

  2. python爬取微博用户关注_python爬取微博用户关注和粉丝的公开基本信息

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:TM0831 PS:如有需要Python学习资料的小伙伴可以加点击下 ...

  3. python爬取微博恶评_Python爬取新浪微博评论数据,了解一下?

    开发工具 **Python版本:**3.6.4 相关模块: argparse模块: requests模块: jieba模块: wordcloud模块: 以及一些Python自带的模块. 环境搭建 安装 ...

  4. python知乎爬虫收藏夹_Python爬取知乎问题收藏夹 爬虫入门

    简介 知乎的网站是比较好爬的,没有复杂的反爬手段,适合初学爬虫的人作为练习 因为刚刚入门python,所以只是先把知乎上热门问题的一些主要信息保存到数据库中,待以后使用这些信息进行数据分析,爬取的网页 ...

  5. Python爬取网站用户手机号_python爬取招聘网站:拉勾网

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:TM0831 转载:https://www.cnblogs.com/T ...

  6. python爬取音乐并保存_Python爬取网易云音乐上评论火爆的歌曲

    前言 网易云音乐这款音乐APP本人比较喜欢,用户量也比较大,而网易云音乐之所以用户众多和它的歌曲评论功能密不可分,很多歌曲的评论非常有意思,其中也不乏很多感人的评论.但是,网易云音乐并没有提供热评排行 ...

  7. python百度贴吧 发帖时间_python爬取贴吧帖子

    一.介绍 我们常遇到一些很长的贴吧连载帖子想存到本地再看 此文就是运用python爬取指定百度贴吧的帖子并存到本地满足需求 环境:python2.7 目标网页:[长篇连载]剑网3的正史和野史--从头开 ...

  8. python json序列化对象_Python学习之json序列化

    一.什么是序列化 在我们存储数据或者网络传输数据的时候,需要对我们的对象进行处理,把对象处理成方便存储和传输的数据格式.这个过程叫序列化,不同的序列化结果也不同,但目的是一样的,都是为了存储和传输 在 ...

  9. python取矩阵的一部分_Python 实现取矩阵的部分列,保存为一个新的矩阵方法

    Python 实现取矩阵的部分列,保存为一个新的矩阵方法 首先输入一个矩阵: >>> b=[[1,2,3,4,5,6],[2,2,3,4,5,6],[3,2,3,4,5,6],[4, ...

最新文章

  1. 轻松学习LINUX系列教程推出
  2. 写在2-14,程序员才看得懂的情书
  3. linux下JDK的安装
  4. 【学术相关】IEEE TBD, 这个Trans刚被SCI收录,预计首个IF4
  5. boost::iostreams::grep_filter用法的测试程序
  6. 你知道如何用面向对象思想写好并发编程吗?
  7. Go语言实例系列【 获得url实例】
  8. ThinkPHP验证码不能显示如何解决
  9. sql累计求和时间太长_(七)SQL知识点--窗口函数
  10. C++中如何使用大整数__int 128
  11. ssh 连接linux 乱码问题,SSH 连接 Ubuntu 时的中文乱码问题
  12. 三目(三元)运算符??::的形式
  13. DotNetTextBox控件添加外挂插件功能的图文教程。
  14. [2018.07.12 T1]B君的第一题
  15. 重装系统后管家婆数据库丢失,数据库碎片扫描、提取、重组数据恢复
  16. 当开发人员说不是BUG时如何应对
  17. Django安全认证机制CSRF
  18. 缺陷检测相关论文阅读总结(记录自己读过的论文主要内容/Ideas)
  19. 计算机设置表格内框线,word表格和边框在哪里 exl表格内框线怎么设置
  20. 【原创】python语言实现半自动排班系统

热门文章

  1. 【BZOJ4069】[Apio2015]巴厘岛的雕塑 按位贪心+DP
  2. Django 配置出错模板
  3. Quartz.net官方开发指南 第七课 : TriggerListeners和JobListeners
  4. 解决CentOS java环境不生效的问题
  5. c# http请求执行超时,解决办法(给某个方法设定超时时间)
  6. java中 在一个异常处理中什么语句块是可多个的
  7. 【报告分享】元宇宙发展研究报告2.0-清华大学.pdf(附下载链接)
  8. 【报告分享】2021年中国数字经济就业发展研究报告.pdf(附下载链接)
  9. 【会话推荐】ICDM论文:探索跨会话信息感知的推荐模型
  10. 【报告分享】2019全球数字经济新图景.pdf