Python爬虫实战(七):某讯较真辟谣小程序爬虫
追风赶月莫停留,平芜尽处是春山。
文章目录
- 追风赶月莫停留,平芜尽处是春山。
- 一、准备工作
- 二、目标分析
- 二、接口分析
- url分析
- 返回数据分析
- 三、编写代码
- 获取数据
- 保存数据
- 完整代码
大四考研狗没时间更新博客了,大家勿怪,等我有学上了,一天一更(可能/狗头
一、准备工作
- 要保证你的PC端的微信版本要在
3.6.0
之前的版本 - 电脑安装配置好
Fiddler
安装与配置请移步这里
二、目标分析
在PC端微信打开某讯较真辟谣小程序
咱们今天要爬取的是热门专栏里的一条条数据
打开Fiddler
然后往下刷新新闻
会发现在Fiddler
里面找到了这么一个请求
在这里我们可以看到他的一个数据的来源
二、接口分析
url分析
https://vp.fact.qq.com/miniChannelArt?artnum=22&channelid=tuijian&sessionid=&token=U2FsdGVkX19mCQ2pQ3HfX81ioIxsRmeJV509bC%252B%252BZedWV9wOJA8qtuuuUOiAK0oj&_=1668050062035
很明显,他有三个参数:
- artnum
这个参数掌管页数 - token
这个参数是一个令牌,暂时还没有破解生成的方法 - _
这个参数代表时间戳
如果你能掌管好这三个参数,那数据不就是手到擒来嘛!
返回数据分析
是get请求,返回数据格式是json
格式
三、编写代码
知道了url规则,以及返回数据的格式,那现在咱们的任务就是构造url然后请求数据
url = "https://vp.fact.qq.com/miniChannelArt?artnum={}{}&channelid=tuijian&sessionid=&token=U2FsdGVkX19GKwNTxgwgTzYy78%252BCfE983Iy9p6QNratluvku5th95VzqQAbI6FB9&_={}".format(page, page, int(time.time()*1000))
那就直接上呗,直接请求他
所以我们为了方便就把请求网页的代码写成了函数get_html(url),传入的参数是url返回的是请求到的内容。
def get_html(url):headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat","Host": "vp.fact.qq.com","Referer": "https://servicewechat.com/wxd7bec290bace5e42/87/page-frame.html",}response = requests.get(url, headers=headers)return response.text
获取数据
将获得的数据格式化为json
格式的数据。
def get_html(url):headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat","Host": "vp.fact.qq.com","Referer": "https://servicewechat.com/wxd7bec290bace5e42/87/page-frame.html",}response = requests.get(url, headers=headers)return responsedef get_data():for page in range(1, 11-----
):url = "https://vp.fact.qq.com/miniChannelArt?artnum={}{}&channelid=tuijian&sessionid=&token=U2FsdGVkX19GKwNTxgwgTzYy78%252BCfE983Iy9p6QNratluvku5th95VzqQAbI6FB9&_={}".format(page, page, int(time.time()*1000))data = get_html(url).json()data = data['content']for i in data:title = i['title']abstract = i['abstract']result = i['result']date = i['date']
保存数据
我们写一个save函数用来存放数据
def save_data(title, abstract, result, date):with open('data.csv', 'a', encoding='utf-8-sig', newline="") as f:writer = csv.writer(f)writer.writerow([title, abstract, result, date])
完整代码
# -*- coding:utf-8 -*-
# @time: 2022/11/10 17:30
# @Author: 韩国麦当劳
# @Environment: Python 3.7
import requests
import time
import csvdef get_html(url):headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat","Host": "vp.fact.qq.com","Referer": "https://servicewechat.com/wxd7bec290bace5e42/87/page-frame.html",}response = requests.get(url, headers=headers)return responsedef save_data(title, abstract, result, date):with open('data.csv', 'a', encoding='utf-8-sig', newline="") as f:writer = csv.writer(f)writer.writerow([title, abstract, result, date])def get_data():for page in range(1, 11):url = "https://vp.fact.qq.com/miniChannelArt?artnum={}{}&channelid=tuijian&sessionid=&token=U2FsdGVkX19GKwNTxgwgTzYy78%252BCfE983Iy9p6QNratluvku5th95VzqQAbI6FB9&_={}".format(page, page, int(time.time()*1000))data = get_html(url).json()data = data['content']for i in data:title = i['title']abstract = i['abstract']result = i['result']date = i['date']save_data(title, abstract, result, date)if __name__ == '__main__':get_data()
欢迎一键三连哦!
还想看哪个网站的爬虫?欢迎留言,说不定下次要分析的就是你想要看的!
Python爬虫实战(七):某讯较真辟谣小程序爬虫相关推荐
- python爬网易新闻_Python爬虫实战教程:爬取网易新闻;爬虫精选 高手技巧
Python爬虫实战教程:爬取网易新闻:爬虫精选 高手技巧 发布时间:2020-02-21 17:42:43 前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有, ...
- Python爬虫系列之爬取某奢侈品小程序店铺商品数据
Python爬虫系列之爬取某奢侈品小程序店铺商品数据 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发> 点击这里联系我们 < 微信请扫描下方二维码 代码仅供学 ...
- python操作微信小程序云端数据库_微信小程序·云开发云数据库的基本使用-微信小程序云开发实例-腾讯云微信小程序...
微信小程序·云开发云数据库的基本使用-微信小程序云开发实例-腾讯云微信小程序 浏览量:1120 时间:2020-04-06
- 腾讯微搭小程序获取微信用户信息
腾讯微搭小程序获取微信用户信息 无论你对低代码开发的爱与恨, 微信生态的强大毋庸置疑. 因此熟悉微搭技术还是很有必要的! 在大多数应用中, 都需要获取和跟踪用户信息. 本文就微搭中如何获取和存储用户信 ...
- 纯 python 开发批量读取照片 Exif 信息的小程序
自己动手写一些小程序解决工作中的问题,是学习 python 的高效途径.这中间会遇到一些不动手想不到的问题,一个一个地解决它们,你 python 开发水平就会突飞猛进! 本文总结一下实战 python ...
- 浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务)
浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务) 参考文章: (1)浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务) (2)https://www.cnblogs.com/ ...
- 腾讯在线教育小程序开发实践之路
前言: 小程序是一种新的开放能力, 开发者可以快速地开发一个小程序,便可以在微信内被便捷得获取和传播,同时具有出色的使用体验.随着近两年来小程序风口的爆发,越来越多的开发者.企业开始接入小程序,那么在 ...
- 腾讯企业邮箱小程序撤回邮件_6个针对小型企业的有用的电子邮件营销技巧
腾讯企业邮箱小程序撤回邮件 Email remains one of the most lucrative marketing channels for businesses. Unlike PPC, ...
- 微信发布的辟谣小程序
微信发布的辟谣小程序,用户不仅可以主动搜索谣言,你阅读或分享过的文章,一旦被鉴定为谣言,还将收到提醒. 进入微信辟谣小程序后,用户遇到疑似谣言时只需在"谣言识别"页面,输入关键字搜 ...
最新文章
- okhttp进行网络传输文件
- python入门教程非常详细-Python 基础教程
- MyBatis简介与配置MyBatis+Spring+MySql
- Linux 下禅道和 SVN、GIT 集成插件发布
- oracle数据库中表被锁,Oracle数据库表被锁问题处理
- 铃木uy125摩托车机油_UY125 新瑞梦UM125发布 济南铃木于湖南株洲吹响国IV集结号...
- ACdream1157 Segments(CDQ分治 + 线段树)
- sql 两个表列包含_Oracle数据库扩展语言PL/SQL之运算符
- 纸白银:交易简便成本低
- Linux下数据库mariaDB的管理
- Windows Azure Cloud Service (24) 在模拟器中运行时跳过Windows Azure Startup任务
- debian添加快捷启动方式
- 迷宫问题的三种实现算法
- 计算机用老毛桃u盘备份系统,如何一键备份还原系统?老毛桃一键备份系统详细步骤...
- Google浏览器被劫持解决方法
- Huawei RH2288 V3 风扇噪音大的解决方案
- 计算机概论复习:知识大全
- sinon.js的spy、stub和mock
- linux镜像文件32,centos7光盘镜像下载32/64位
- 【解惑】杨中科说给弟弟的话