python爬取ajax_Python爬虫如-何爬取ajax网页之爬取雪球网文章
1.效果图
在这里插入图片描述
2.传送门点击传送门
3.发工具之后,往下滑时会出现一个接口(当然滑的越多接口越多)
在这里插入图片描述
4.我们通过对比两个及以上的接口进行分析它们的不同之处(这叫找规律)
可以发现max_id是在变化的,其他都是不变的,而且count是返回的文章数目有15个,所以max_id只要自增15就可以实现翻页了,是不是很简单
在这里插入图片描述
5.我们可以这么写代码实现翻页(这代码只是举例子怎么写翻页,不代表最终的代码),这里我取max_id开始的地方是20333000(小伙伴们可以自己去找一下max_id的有效范围),如下
max_id = 20333000
while True:
# 请求的url
url = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id={}&count=15&category=-1'.format(max_id)
# 返回来的数据是json格式
resp = requests.get(url, headers=headers).json()
max_id += 15
6.接下来分析一下返回来的数据,以便我们进行抓取,通过下图我们可以发现每一篇文章都是存储在列表这个键当中的,所以我们先取出list这个键
在这里插入图片描述
代码如下:
# 我们需要的数据存在一个列表之中,先取出这个列表
lists = resp.get('list')
7.再看每一篇文章的信息,将data的信息复制粘贴到json.cn这个网站去查看json的信息,可以发在data中取出我们需要的信息
在这里插入图片描述
for temp in lists:
# 数据在每一个元素中的data键中,取出data
data = temp.get('data')
# 取出来的data是一个str类型,我们需要将其转换成dict的类型方可操作
data = json.loads(data)
# 判断data是否存在
if data:
# 获取文章的题目
title = data.get('title')
# 如果没有题目,就continue,因为通过我的观察,没有title的一般是广告之类的
if not title:
continue
# 获取摘要
description = data.get('description')
# 数据清洗,使用正则表达式的sub方法
description = re.sub(r'||', '', description)
# 获取用户的信息,用户的信息在data里边的user键中
user_name = data.get('user').get('screen_name')
# 获取是什么类型的文章
column = temp.get('column')
# 获取发表的时间戳
created_at = data.get('created_at')
# 获取阅读人数
view_count = data.get('view_count')
# 声明一个字典存储数据
data_dict = {}
data_dict['title'] = title
data_dict['description'] = description
data_dict['user_name'] = user_name
data_dict['column'] = column
data_dict['created_at'] = created_at
data_dict['view_count'] = view_count
print(data_dict)
8.最后就是将数据保存到文件中,其中data_list是我在前面一开始就声明的了
# 将数据写入json文件
with open('data_json.json', 'a+', encoding='utf-8-sig') as f:
json.dump(data_list, f, ensure_ascii=False, indent=4)
print('json文件写入完成')
# 将数据写入csv文件
with open('data_csv.csv', 'w', encoding='utf-8-sig', newline='') as f:
# 表头
title = data_list[0].keys()
# 声明writer
writer = csv.DictWriter(f, title)
# 写入表头
writer.writeheader()
# 批量写入数据
writer.writerows(data_list)
print('csv文件写入完成')
9.完整代码
完整代码公众号回复'雪球网'关键字即可
公众号:pythonislover
记得要设置延迟噢,我们是一只文明的爬虫~~~ 忘了说了,cookie会过期,需要及时更新cookie
python爬取ajax_Python爬虫如-何爬取ajax网页之爬取雪球网文章相关推荐
- python 北上资金_python爬虫技术:北向资金数据自动爬取!
好久不见!今天我们继续python的话题啦.python现在势头凶得很,没事刷抖音.刷朋友圈.看公众号,弹出的广告总少不了python."python带你发家致富,财富自由!"广告 ...
- python爬虫——如何爬取ajax网页之爬取雪球网文章
效果图 传送门点击传送门 进入网站之后我们打开开发工具之后,往下滑时会出现一个接口(当然滑的越多接口越多) 我们通过对比两个及以上的接口进行分析它们的不同之处(这叫找规律) 可以发现max_id是在变 ...
- python微信公众号爬虫_微信公众号推送信息爬取---python爬虫
问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...
- 【JavaWeb 爬虫】Java文本查重网页版 爬取百度搜索结果页全部链接内容
! ! 更新:增加了网页过滤判断,只允许域名包含blog,jianshu的网站通过 小技巧 Java中InputStream和String之间的转换方法 String result = new Buf ...
- Python爬虫实战02:分析Ajax请求并抓取今日头条街拍
1 目标网站分析 首先我们打开今日头条网站,搜索 街拍,点击图集,这里每就是我们要爬取的目录,我们称为索引页.1 点开一个标题,进去,称为详情页.2这里面的图是我们所要爬取的.比如这里可以点击图片,共 ...
- 基于python的影评数据分析_基于Python聚焦型网络爬虫的影评获取技术
龙源期刊网 http://www.qikan.com.cn 基于 Python 聚焦型网络爬虫的影评获取技 术 作者:郭向向 郑嘉慧 苗学芹 来源:<时代金融> 2019 年第 11 期 ...
- 李沐【实用机器学习】1.3网页数据抓取
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.数据抓取工具 二.实例解析 总结 前言 网页数据抓取目标:在一个网站里面感兴趣的数据抓取出来 数据特点:噪点较多, ...
- python中国大学排名爬虫写明详细步骤-Python爬虫——定向爬取“中国大学排名网”...
内容整理自中国大学MOOC--北京理工大学-蒿天-Python网络爬虫与信息提取 相关实战章节 我们预爬取的url如下 网页节选 在浏览器中读取网页源代码 可以 发现表格数据信息是直接写入HTML页面 ...
- 在当当买了python怎么下载源代码-爬虫实战一:爬取当当网所有 Python 书籍
图片来自 unsplash 我们已经学习 urllib.re.BeautifulSoup 这三个库的用法.但只是停留在理论层面上,还需实践来检验学习成果.因此,本文主要讲解如何利用我们刚才的几个库去实 ...
- 在当当买了python怎么下载源代码-爬虫实战:爬取当当网所有 Python 书籍
来源:公众号-极客猴 出处: 本文主要讲解如何利用urllib.re.BeautifulSoup 这几个库去实战,爬取当当网所有 Python 书籍. 1 确定爬取目标 任何网站皆可爬取,就看你要不要 ...
最新文章
- 学好单片机能找什么工作?单片机好学吗?
- objective-c 面试题
- mysql-事务隔离级别
- kali linux安装搜狗输入法的方法
- adb shell 修改文件名_从零开始学Linux运维|27.Shell编程(函数与参数的传递)
- php代码执行相关函数,关于当前PHP脚本运行时系统信息相关函数
- 两个小程序大概的了解一下java的线程
- EntboostChat 0.9(越狱版)公布,iOS免费企业IM
- 6-2图像分类网络模型框架解读(下)
- centos samba 看不到共享目录_samba共享服务
- 这才是你寻寻觅觅想要的 Python 可视化神器!
- Backbone.js 1.0.0源码架构分析(一)
- --save-dev 与 --save的区别
- Mysql 给时间增加对应的时间
- 利用555定时器的双电源电路原理
- cv2高动态范围成像(HDRI、HDR)
- 启动服务器应用程序失败,打开系统管理时提示:autoupdateserviceset.exe 应用程序错误 应用程序无法正常启动,请单击确定 关闭应用程序。...
- 凤凰x86 卡android,卡ANDROIDx86_64的解决办法
- 微信小程序使用第三方插件
- 速卖通重点国家市场俄罗斯市场分析平台热销产品推荐
热门文章
- 百度编辑器嵌套秀米编辑器遇到的问题
- excel怎么启用宏_Excel基础知识,VBA代码编辑器,4种方法进入表格编程世界
- 2年前端 杭州 面试 集合 面经 前端
- 识别到硬盘 计算机不显示盘符,Win10系统下移动硬盘可以识别但是不显示盘符的解决方法...
- 路由器,交换机和猫的区别
- wangEditor上传不了图片
- 发光学类毕业论文文献包含哪些?
- matlab的fprintf写不进文件,fprintf写不进文件
- 服务器系统内存不能为written,LOL选了英雄之后出现 无法连接服务器, 0x007197ea指令引用的0x0000003c内存。该内存不能为written。高悬赏...
- roc曲线spss怎么做_统计第十三课:SPSS ROC曲线