追风赶月莫停留,平芜尽处是春山。

文章目录

  • 追风赶月莫停留,平芜尽处是春山。
  • 一、准备工作
  • 二、目标分析
  • 二、接口分析
    • url分析
    • 返回数据分析
  • 三、编写代码
    • 获取数据
    • 保存数据
    • 完整代码

大四考研狗没时间更新博客了,大家勿怪,等我有学上了,一天一更(可能/狗头

一、准备工作

  1. 要保证你的PC端的微信版本要在3.6.0之前的版本
  2. 电脑安装配置好Fiddler安装与配置请移步这里

二、目标分析

在PC端微信打开某讯较真辟谣小程序

咱们今天要爬取的是热门专栏里的一条条数据
打开Fiddler然后往下刷新新闻

会发现在Fiddler里面找到了这么一个请求


在这里我们可以看到他的一个数据的来源

二、接口分析

url分析

https://vp.fact.qq.com/miniChannelArt?artnum=22&channelid=tuijian&sessionid=&token=U2FsdGVkX19mCQ2pQ3HfX81ioIxsRmeJV509bC%252B%252BZedWV9wOJA8qtuuuUOiAK0oj&_=1668050062035

很明显,他有三个参数:

  1. artnum
    这个参数掌管页数
  2. token
    这个参数是一个令牌,暂时还没有破解生成的方法
  3. _
    这个参数代表时间戳

如果你能掌管好这三个参数,那数据不就是手到擒来嘛!

返回数据分析

是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爬虫实战(七):某讯较真辟谣小程序爬虫相关推荐

  1. python爬网易新闻_Python爬虫实战教程:爬取网易新闻;爬虫精选 高手技巧

    Python爬虫实战教程:爬取网易新闻:爬虫精选 高手技巧 发布时间:2020-02-21 17:42:43 前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有, ...

  2. Python爬虫系列之爬取某奢侈品小程序店铺商品数据

    Python爬虫系列之爬取某奢侈品小程序店铺商品数据 小程序爬虫接单.app爬虫接单.网页爬虫接单.接口定制.网站开发.小程序开发> 点击这里联系我们 < 微信请扫描下方二维码 代码仅供学 ...

  3. python操作微信小程序云端数据库_微信小程序·云开发云数据库的基本使用-微信小程序云开发实例-腾讯云微信小程序...

    微信小程序·云开发云数据库的基本使用-微信小程序云开发实例-腾讯云微信小程序 浏览量:1120 时间:2020-04-06

  4. 腾讯微搭小程序获取微信用户信息

    腾讯微搭小程序获取微信用户信息 无论你对低代码开发的爱与恨, 微信生态的强大毋庸置疑. 因此熟悉微搭技术还是很有必要的! 在大多数应用中, 都需要获取和跟踪用户信息. 本文就微搭中如何获取和存储用户信 ...

  5. 纯 python 开发批量读取照片 Exif 信息的小程序

    自己动手写一些小程序解决工作中的问题,是学习 python 的高效途径.这中间会遇到一些不动手想不到的问题,一个一个地解决它们,你 python 开发水平就会突飞猛进! 本文总结一下实战 python ...

  6. 浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务)

    浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务) 参考文章: (1)浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务) (2)https://www.cnblogs.com/ ...

  7. 腾讯在线教育小程序开发实践之路

    前言: 小程序是一种新的开放能力, 开发者可以快速地开发一个小程序,便可以在微信内被便捷得获取和传播,同时具有出色的使用体验.随着近两年来小程序风口的爆发,越来越多的开发者.企业开始接入小程序,那么在 ...

  8. 腾讯企业邮箱小程序撤回邮件_6个针对小型企业的有用的电子邮件营销技巧

    腾讯企业邮箱小程序撤回邮件 Email remains one of the most lucrative marketing channels for businesses. Unlike PPC, ...

  9. 微信发布的辟谣小程序

    微信发布的辟谣小程序,用户不仅可以主动搜索谣言,你阅读或分享过的文章,一旦被鉴定为谣言,还将收到提醒. 进入微信辟谣小程序后,用户遇到疑似谣言时只需在"谣言识别"页面,输入关键字搜 ...

最新文章

  1. okhttp进行网络传输文件
  2. python入门教程非常详细-Python 基础教程
  3. MyBatis简介与配置MyBatis+Spring+MySql
  4. Linux 下禅道和 SVN、GIT 集成插件发布
  5. oracle数据库中表被锁,Oracle数据库表被锁问题处理
  6. 铃木uy125摩托车机油_UY125 新瑞梦UM125发布 济南铃木于湖南株洲吹响国IV集结号...
  7. ACdream1157 Segments(CDQ分治 + 线段树)
  8. sql 两个表列包含_Oracle数据库扩展语言PL/SQL之运算符
  9. 纸白银:交易简便成本低
  10. Linux下数据库mariaDB的管理
  11. Windows Azure Cloud Service (24) 在模拟器中运行时跳过Windows Azure Startup任务
  12. debian添加快捷启动方式
  13. 迷宫问题的三种实现算法
  14. 计算机用老毛桃u盘备份系统,如何一键备份还原系统?老毛桃一键备份系统详细步骤...
  15. Google浏览器被劫持解决方法
  16. Huawei RH2288 V3 风扇噪音大的解决方案
  17. 计算机概论复习:知识大全
  18. sinon.js的spy、stub和mock
  19. linux镜像文件32,centos7光盘镜像下载32/64位
  20. 【解惑】杨中科说给弟弟的话

热门文章

  1. 生活中常见物联网实例_什么是物联网?常见IoT协议最全讲解
  2. Win10任务栏透明工具 TranslucentTB
  3. error PRJ0019的一个解决心得
  4. MATLAB基于视频的人体姿态检测
  5. 学生成绩表的创建和查询
  6. GitBlit的使用教程
  7. 短信就能买火车票?我们试了试5G消息开发,顺手搞了次红包问答
  8. 居家办公,我有便携式无纸化会议系统
  9. android编译v8引擎,V8引擎 Android库构建
  10. php 红包牛牛,恭喜发财:牛牛红包钩针手机包(有编织说明)