专栏首页Python疯子python爬取公众号,用最简单的方式爬虫
原创

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

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

设备:python集成工具--pyCharm

之所以称之为最近单方式,是因为--代码少,效果好

这里只爬了公众号的标题和链接,先上效果

代码
效果图
image.png

操作步骤:

1、先自己申请一个公众号,链接:https://mp.weixin.qq.com/

2、登录自己的账号,新建文章图文,点击超链接

image.png

3、弹出搜索框,搜索自己需要的公众号,查看历史文章

搜索公众号
查看历史文章

通过抓包获取请求的url

获取请求url

通过点击下一页,多次获取url发现,只有bengin的参数发生变化

image.png
所以我们确定了url,开始爬虫吧
image.png

报错信息如下,应该是缺少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+信息,没有丢数据

爬虫结果图

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Swift - Button,Label

    Python疯子
  • python 中把一个列表(list)平均分成n块

    Python疯子
  • Swift - 网页控件(UIWebView)加载本地数据,文件

    使用UIWebView加载本地数据或资源有如下三种方式: 1,使用 **loadHTMLString **方法加载HTML内容 2,使用 **loadReq...

    Python疯子
  • 宜信容器云排错工具集

    宜信容器云是一套基于kubernetes的容器管理平台。业务线用户在容器云上部署应用程序时,常常会遇到容器无法启动或者应用程序运行不正常的情况。为了方便用户排查...

    宜信技术学院
  • NTFS-3G的安装和配置

    1. 什么是NTFS-3G     NTFS-3G是一个开源软件,支持在Linux, FreeBSD, Mac OS X, NetBSD, Haiku操作系统下...

    py3study
  • 关于新型漏洞https cookie注入漏洞攻击剖析

    0x01 什么是cookie? 主要是验证用户的身份的唯一标识。 0x02 cookie注入的原理是什么? 既然是cookie注入,不管是http,...

    Jumbo
  • ciscn2019总决赛day2web1-easyweb题解

    题目首页是一个登录页面,尝试注入失败。抓包过程中发现了image和user两个PHP文件,image可以传id参数,但只有id为1、2和3时能显示图片,其他情况...

    KevinBruce
  • R语言实战(二)

    问题3:如何知道这些数字所在的位置呢? 用which函数,(ps:如果是想知道第一个的位置呢?)

    liu_ll
  • Ceph S3 基于NGINX的集群复制方案

    ceph的s3数据的同步可以通过radosgw-agent进行同步,同region可以同步data和metadata,不同region只能同步metadata,...

    用户2772802
  • (三) 服务器端的程序架构介绍2

    下面我们以pc端登录为例来具体看一个数据包在服务器端各个服务之间走过的流程: 步骤1:login_server初始化侦听socket,设置新连接到来的回调函数。...

    范蠡

扫码关注云+社区

领取腾讯云代金券