python爬取公众号,用最简单的方式爬虫

目标公众号:吃鸡搞笑视频python

设备:python集成工具--pyCharmajax

之因此称之为最近单方式,是由于--代码少,效果好json

这里只爬了公众号的标题和连接,先上效果浏览器

效果图 cookie

操做步骤: 一、先本身申请一个公众号,连接:https://mp.weixin.qq.com/ 二、登陆本身的帐号,新建文章图文,点击超连接 app

三、弹出搜索框,搜索本身须要的公众号,查看历史文章

查看历史文章 dom

经过抓包获取请求的url 工具

经过点击下一页,屡次获取url发现,只有bengin的参数发生变化测试

因此咱们肯定了url,开始爬虫吧

报错信息以下,应该是缺乏cookie和其余相关参数 添加上cookie进行,爬取,发现彻底没问题(测试发现cookie的有效期很长),那就彻底可用,方式被发现是爬虫我又添加了两个参数: Host:域名 Referer:上次的请求 是个人操做更像浏览器jsonp

完整代码以下

# -*- 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+信息,没有丢数据