赞
踩
目标公众号:吃鸡搞笑视频
设备:python集成工具--pyCharm
之所以称之为最近单方式,是因为--代码少,效果好
这里只爬了公众号的标题和链接,先上效果
效果图
操作步骤:
1、先自己申请一个公众号,链接:https://mp.weixin.qq.com/
2、登录自己的账号,新建文章图文,点击超链接
image.png
3、弹出搜索框,搜索自己需要的公众号,查看历史文章
搜索公众号
查看历史文章
通过抓包获取请求的url
通过点击下一页,多次获取url发现,只有bengin的参数发生变化
所以我们确定了url,开始爬虫吧
报错信息如下,应该是缺少cookie和其他相关参数
添加上cookie进行,爬取,发现完全没问题(测试发现cookie的有效期很长),那就完全可用,方式被发现是爬虫我又添加了两个参数:
Host:域名 Referer:上次的请求 是我的操作更像浏览器
完整代码如下
- # -*- coding: utf-8 -*-
- import requests
- import jsonpath
-
- headers = {
- "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",
- "Host": "mp.weixin.qq.com",
- "Referer": "https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit&action=edit&type=10&isMul=1&isNew=1&lang=zh_CN&token=1862390040",
- "Cookie": "防止cookie过期,爬虫前,设置自己刚获取的cookie值"
- }
-
- for i in range(44):
- url = "https://mp.weixin.qq.com/cgi-bin/appmsg?token=1862390040&lang=zh_CN&f=json&ajax=1&random=0.17794584803309532&action=list_ex&begin={}&count=5&query=&fakeid=&type=9".format(str(i * 5))
-
- response = requests.get(url, headers = headers)
-
- jsonRes = response.json()
-
- titleList = jsonpath.jsonpath(jsonRes, "$..title")
- urlList = jsonpath.jsonpath(jsonRes, "$..link")
-
- # 遍历 构造可存储字符串
- for index in range(len(titleList)):
- title = titleList[index]
- url = urlList[index]
-
- scvStr = "%s,%s,\n" % (title, url)
- with open("info.csv", "a+", encoding="gbk", newline='') as f:
- f.write(scvStr)
一共700+信息,没有丢数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。