layui 如何动态加载局部页面_python爬虫入门实战(四)!爬取动态加载的页面!
今天的主题是爬取动态网页的经验分享,以cocos论坛为例子进行分享。(官方不会打我吧 )
配置环境
为什么选择cocos论坛呢?因为自己在浏览论坛时,发现标题内容会随着滚动条的位置而动态添加。
环境: python3 + requests 。还要引入几个系统库。参考如下:
import requests
import json
import csv from multiprocessing.dummy import Pool
分析网页
以chrome浏览器为例,空白处 右键->检查 进入网页分析模式,选择 Network 中的XHR,滚动条往下滚,观察右侧加载了什么文件。
在网页分享模式下,点击刚才下载的文件,查看里面的内容,发现对一个地址使用了GET方法,并传入了页码的参数。
再看看返回的内容是一个json字符串。
这个 json字符串里就有我们想要内容。一起看下如何用requests 发送参数,并返回Json 结果。
headers
只需要根据地址,传入一个 headers 告诉网页我们要接收json字符串。
解析json
json是一种数据存储格式,可以被多种语言解析,一般用于数据传输。
由前一张图,可以看到所有文章列表在topic_list的topics中,一起看看 python3 是怎么解析的。
data = json.loads(html_str);
all_items=data['topic_list']['topics'] write_content=[];
for item in all_items:slug = item['slug'];item_id = item['id']link = f'https://forum.cocos.org/t/{slug}/{item_id}'title = item['title'];like_count = item['like_count'];like_count = item['like_count'];posts_count = item['posts_count'];views = item['views'];created_at = item['created_at'];write_content.append({'标题': title, '链接': link, '点赞':like_count, '回复':posts_count, '浏览':views, '发帖时间':created_at});
其中的链接地址可以通过打开几个论坛内容找到规律,是由 slug 和 id 这两个字段拼接的。
最后使用多线程 和 csv 存储结果。(不清楚的话可以看看之前的文章哦。
白玉无冰:python爬虫入门实战(三)!xpath 和 csv!zhuanlan.zhihu.com
白玉无冰:python爬虫入门实战(二)!多线程爬虫!zhuanlan.zhihu.com
)
pool = Pool(3);
orign_num=[x for x in range(0,10)];
result = pool.map(scrapy,orign_num);
with open('ccc_title_link.csv', 'w', newline='') as csvfile:fieldnames = ('标题', '链接', '点赞', '回复','浏览', '发帖时间')writer = csv.DictWriter(csvfile, fieldnames=fieldnames)writer.writeheader()for write_content in result:for _content in write_content:writer.writerow(_content);
最后,看看最终效果吧!
小结
对于动态生成的内容,我们可以通过网页分享中下载的文件分析,并通过requests模块模拟headers 和发送参数方法获取数据。
这是我学到的新技能哦!如有错误或其他想法,欢迎留言!如果我又学到新的东西,会第一时间分享给大家哦!点个关注不迷路!
以上内容仅供个人学习使用,请勿用于商业用途。
我是白玉无冰,游戏开发小赤佬,也玩python和shell
注意!Cocos 中文论坛域名修改!动态爬取论坛列表!python爬虫入门实战(四)!mp.weixin.qq.com
layui 如何动态加载局部页面_python爬虫入门实战(四)!爬取动态加载的页面!相关推荐
- python爬去百度百科词条_Python爬虫入门学习实践——爬取小说
本学期开始接触python,python是一种面向对象的.解释型的.通用的.开源的脚本编程语言,我觉得python最大的优点就是简单易用,学习起来比较上手,对代码格式的要求没有那么严格,这种风格使得我 ...
- python爬虫动态加载_python爬虫入门实战(四)!爬取动态加载的页面!
今天的主题是爬取动态网页的经验分享,以cocos论坛为例子进行分享.(官方不会打我吧 ) 配置环境 为什么选择cocos论坛呢?因为自己在浏览论坛时,发现标题内容会随着滚动条的位置而动态添加. 环境: ...
- python爬取网页数据软件_python爬虫入门10分钟爬取一个网站
一.基础入门 1.1什么是爬虫 爬虫(spider,又网络爬虫),是指向网站/网络发起请求,获取资源后分析并提取有用数据的程序. 从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HT ...
- python壁纸数据抓取_python爬虫多线程实战:爬取美桌1080p壁纸图片
本人纯手工码字哦,请耐心看完,有信心可以带你完整学会这个实战案例 一.需求分析: 1.下载 http://www.win4000.com/wallpaper.html 下指定分类 指定尺寸 的图片 2 ...
- python爬虫爬取图片代码_Python爬虫入门:批量爬取网上图片的两种简单实现方式——基于urllib与requests...
Python到底多强大,绝对超乎菜鸟们(当然也包括我了)的想象.近期我接触到了爬虫,被小小地震撼一下.总体的感觉就两个词--"强大"和"有趣".今天就跟大家分享 ...
- python爬虫快速下载图片_Python爬虫入门:批量爬取网上图片的两种简单实现方式——基于urllib与requests...
Python到底多强大,绝对超乎菜鸟们(当然也包括我了)的想象.近期我接触到了爬虫,被小小地震撼一下.总体的感觉就两个词--"强大"和"有趣".今天就跟大家分享 ...
- Python爬虫入门 | 7 分类爬取豆瓣电影,解决动态加载问题
比如我们今天的案例,豆瓣电影分类页面.根本没有什么翻页,需要点击"加载更多"新的电影信息,前面的黑科技瞬间被秒-- 又比如知乎关注的人列表页面: 我复制了其中两个人昵称 ...
- 怎么加载csv_python爬虫入门实战(四)!爬取动态加载的页面
今天的主题是爬取动态网页的经验分享,以cocos论坛为例子进行分享.(官方不会打我吧 ) 配置环境 为什么选择cocos论坛呢?因为自己在浏览论坛时,发现标题内容会随着滚动条的位置而动态添加. 环境: ...
- scrapy获取a标签的连接_python爬虫——基于scrapy框架爬取网易新闻内容
python爬虫--基于scrapy框架爬取网易新闻内容 1.需求[前期准备] 2.分析及代码实现(1)获取五大板块详情页url(2)解析每个板块(3)解析每个模块里的标题中详情页信息 点击此处,获取 ...
最新文章
- 杨光:物联网连接将成为虚商发展新空间
- ABAP TBL隐藏列
- base64报错与已下载模块,但import失败解决
- Eclipse vs IDEA快捷键对比大全
- Nhibernate.hbm2ddl.auto配置详解
- 通过ActiveX执行文件
- Python打印A~Z的26个字母,你会怎样打印?
- A Concise and Provably Informative Multi-Scale Signature Based on Heat Diffusion
- 勒索老黄未果!黑客公布英伟达核心源代码,超40万个文件、75GB机密数据
- 前端使用身份证阅读器(高拍仪)集成vue项目
- 定期存款的转存临界点计算公式
- 什么是360度绩效评估反馈?
- 颜值即正义,这个蓝色爱心不好看吗
- 【论文阅读】Conversational Memory Networkfor Emotion Recognition in Dyadic Dialogue Videos
- Python常用的基本编程规范
- Java基本语法笔记
- Bias和Variance
- 微信广告转化归因几个坑 gdt_vid和clickid
- 网页部署https后浏览器访问风险提示或者您的链接不是私密链接解决方案
- 判断平年还是闰年,一个月有多少天,一年的第几天