2024年微信公众号链接爬取

news2024/10/5 14:11:19

通过输入(或文件导入)公众号名称,即可爬取该公众号所有历史文章。

通过公众号官方网站调用API,打开开发者工具后发现有 

打开后发现有搜索结果的fakeid,这是每个公众号的标识。

点击某公众号后出现

 

这是具体公众号文章信息,它需要的就是fakeid,其中token是你自己公众号独有的。

打开后是这样的 

 这样就可以通过正则表达式找到所有的link,再将\替换掉,即可得到所有文章的链接,具体爬取文章哪些内容,html格式各不相同。

其中header和cookie按照自己浏览器填写即可。

from urllib.parse import quote,unquote
import requests
import os
import numpy as np
from concurrent.futures import ThreadPoolExecutor
import time
import re
import pandas as pd
import time
import json
from bs4 import BeautifulSoup
import sys
def get_articles(search_name,begin,count):
    sum=0
    header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0'}
    cookie={'Cookie':'RK=dp90GcuG9p; ptcz=d746c192ffbb523199183ab352d5fa9e9c910a4f3b54760f12b45adc13ae240b; qq_domain_video_guid_verify=990a13b1b7b9eee5; _qimei_uuid42=1811d111e17100b9c82a6d970b40848157bb8f5a7f; pgv_pvid=4349444734; _qimei_fingerprint=ef24df0d3d1526c851b8fd8e3e5046e1; _qimei_q36=; _qimei_h38=19c5e2dfc82a6d970b40848102000008e1811d; o_cookie=3260693694; ua_id=PE7tWJm65TXEuv2NAAAAAEH8DLqAC6U64zQAeHCWDHU=; wxuin=06761475252682; mm_lang=zh_CN; qz_gdt=s4h4gzicaaam2skd47cq; _clck=3935648545|1|fj2|0; uuid=936e5d75bad14672d72ecd9f1cddb465; rand_info=CAESIHrpTUh/dWE97s4zYr+5JmdooNE2+xgIQ7iSiyNoJNlP; slave_bizuin=3935648545; data_bizuin=3935648545; bizuin=3935648545; data_ticket=jlULryJfNpiYkVXO817h9zgmLsmmrPR9XkC+UPIpVXh6BVxUpj+NeDYKN0Fx1Hj4; slave_sid=UVVHcFduVmRmSFp5NUxxY3RSc3kxVFdGMVlGaVl0R01wR0E5UnlvSmFQb1VTeWlkSjBNVFpYc0hQdW9wc3lzWFJKNTNZNXc3bXY0dXFQWVE3dkMyU2ZlRnJNcUlsSWhDT0FsVGxJRDB5RGVXM2NYREl2aVZBZmQyS01QTktGbTFyVHQ2alZTcEpRMllLSE12; slave_user=gh_042488a75457; xid=31ef245af21c80ddc82bb852f22c5f87; rewardsn=; wxtokenkey=777; _clsk=doakr4|1707289611534|4|1|mp.weixin.qq.com/weheat-agent/payload/record'}
    refer={}
    search_url=f'https://mp.weixin.qq.com/cgi-bin/searchbiz?action=search_biz&begin=0&count=5&query={quote(search_name)}&token=726980468&lang=zh_CN&f=json&ajax=1'
    search_info=requests.get(search_url,headers=header,cookies=cookie)
    if search_info.status_code!=200:
        print('error!')
        print(search_url)
        sys.exit(0)
    search_info=search_info.json()['list']
    fakeid=search_info[0]['fakeid']
    article_url=f'https://mp.weixin.qq.com/cgi-bin/appmsgpublish?sub=list&search_field=null&begin=0&count=5&query=&fakeid={fakeid}&type=101_1&free_publish_type=1&sub_action=list_ex&token=726980468&lang=zh_CN&f=json&ajax=1'
    json_info=requests.get(article_url,headers=header,cookies=cookie)
    if json_info.status_code!=200:
        print('error!')
        print(article_url)
        sys.exit(0)
    json_info=json_info.json()['publish_page']
    links=re.findall(r'link.*?http:.*?#rd',json_info)
    for i in range(len(links)):
        links[i]=links[i].replace('\\','')[7:]
    print(links)
print('输入想要搜索的公众号名称:')
search_name=input()
get_articles(search_name,0,20)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1438621.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Github 2024-02-03 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-02-03统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目6C项目1TypeScript项目1JavaScript项目1PowerShell项目1Rust项目1 MLflow: 机器学习生命周期平台 …

NLP_Seq2Seq编码器-解码器架构

文章目录 Seq2Seq架构构建简单Seq2Seq架构1.构建实验语料库和词汇表2.生成Seq2Seq训练数据3. 定义编码器和解码器类4.定义Seq2Seq架构5. 训练Seq2Seq架构6.测试Seq2Seq架构 归纳Seq2Seq编码器-解码器架构小结 Seq2Seq架构 起初,人们尝试使用一个独立的RNN来解决这种…

Linux内核单独编译

现在的芯片功能越来越强大,功能也更加的丰富,为了推广自己的产品,一般芯片厂商都会提供一个包含Uboot,Kernel,Rootfs,以及芯片模块功能的SDK。一般在SDK中会有多个文件夹,比如uboot,…

Linux部署Nacos注册中心实现远程访问UI管理界面

Nacos是阿里开放的一款中间件,也是一款服务注册中心,它主要提供三种功能:持久化节点注册,非持久化节点注册和配置管理。 本例通过结合Cpolar内网穿透实现远程访问Nacos 提供的UI (控制台)界面,帮助管理所有的服务和应用的配置 Cpolar内网穿…

【Git版本控制 04】标签管理

目录 一、创建标签 二、查看标签 三、推送标签 四、删除标签 一、创建标签 标签tag,是对某次 commit 的⼀个标识,相当于起了⼀个别名。 相较于难以记住的 commit id , tag 很好的解决这个问题,因为 tag ⼀定要给⼀个让⼈容易…

嵌入式学习Day14 C语言 --- 位运算

位运算 注意:符号位也遵循这个规则 一、按位与(&) 运算规则:一假则假 int a 0x33;a & 0x55;0011 00110101 0101 &----------0001 0001 //0x11 二、按位或(|) 运算规则:一真则真 int a 0x33;a |0x55;0011 00110101 0101 |…

【k8s系列】(202402) 证书apiserver_client_certificate_expiration_seconds

apiserver_client_certificate_expiration_second证书定义的位置:kubernetes/staging/src/k8s.io/apiserver/pkg/authentication/request/x509/x509.go at 244fbf94fd736e94071a77a8b7c91d81163249d4 kubernetes/kubernetes (github.com) apiserver_client_certi…

[机器学习]K-means——聚类算法

一.K-means算法概念 二.代码实现 # 0. 引入依赖 import numpy as np import matplotlib.pyplot as plt # 画图依赖 from sklearn.datasets import make_blobs # 从sklearn中直接生成聚类数据# 1. 数据加载 # 生成(n_samples:样本点,centers&…

83 CTF夺旗-Python考点SSTI反序列化字符串

这里写目录标题 CTF各大题型简介演示案例:CTF夺旗-Python-支付逻辑&JWT&反序列化CTF夺旗-Python-Flask&jinja2&SSTl模版注入CTF夺旗-Python-格式化字符串漏洞&读取对象 涉及资源: 我们这篇文章主要讲的是CTF在web渗透测试方向的3个考点 CTF各大…

【C语言】位与移位操作符详解

目录 1.⼆进制和进制转换 ①十进制:生活中最常用 ②二进制:计算机中使用的,每个数字称为一个比特 ③八进制、十六进制也如上 ④二进制转十进制 ⑤十进制转二进制 ⑥二进制转八进制 ⑦二进制转十六进制 2.原码、反码、补码 3.移位操…

计算机网络概念、组成、功能和分类

文章目录 概要1.怎么学习计算机网络2.概念3.功能、组成4.工作方式、功能组成5.分类 概要 概念、组成、功能和分类 1.怎么学习计算机网络 2.概念 通信设备:比如路由器、路由器 线路:将系统和通信设备两者联系的介质之类的 计算机网络是互连的、自治的的计…

【学习笔记】TypeScript学习笔记1 --TypeScript中的类型

文章目录 TS总的变量类型References TS总的变量类型 备注: 如果一个变量设置为了any 类型之后相当于变量关闭了TS的类型检测 let d: any; d 10; d hello;//unknown表示的是未知类型,实际是上一个安全的any,unknown类型的变量不能直接赋值给其他变量le…

Excel——自定义排序、多条件排序

一、自定义排序 Q:请按照“新疆、湖北、天津、北京、湖南”的先后顺序整理以下表格 A:步骤如下: 选择表格中任意一个单元格 选择【排序】——【自定义排序】 选择主要关键字【地区】,在次序中选择【自定义序列】 选择【添加】&…

C++ JSON解析

JSON解析 JSONCPPC实现JSON解析器 JSONCPP JSONCPP源码链接:https://github.com/open-source-parsers/jsoncpp JSOCPP源码下载以后,首先复制一份include文件夹下的json文件夹,头文件留着后续备用。 使用Cmake生成项目。在IDE中编译jsoncpp_…

使用SpringMVC实现功能

目录 一、计算器 1、前端页面 2、服务器处理请求 3、效果 二、用户登陆系统 1、前端页面 (1)登陆页面 (2)欢迎页面 2、前端页面发送请求--服务器处理请求 3、效果 三、留言板 1、前端页面 2、前端页面发送请求 &…

Spring核心基础:全面总结Spring中提供的那些基础工具类!

内容概要 Spring Framework 提供了众多实用的工具类,这些工具类在简化开发流程、提升代码质量和维护性方面发挥了重要作用,以下是部分关键工具类的总结及其使用场景: StringUtils:不仅提供了基础的字符串操作,如拼接…

Leetcode刷题笔记题解(C++):64. 最小路径和

思路一&#xff1a;dfs深度优先搜索&#xff0c;然后取最小路径值&#xff0c;但是时间消耗较大&#xff0c;时间复杂度可能不满足&#xff0c;代码如下&#xff1a; class Solution { public:int res 1000000;int rows,cols;int minPathSum(vector<vector<int>>…

跳过mysql5.7密码并重置密码 shell脚本

脚本 目前只是验证了5.7 版本是可以的&#xff0c;8.多的还需要验证 以下是一个简单的Shell脚本&#xff0c;用于跳过MySQL密码设置并重置密码&#xff1a; #!/bin/bash yum install psmisc -y# 停止MySQL服务 sudo service mysqld stop# 跳过密码验证 sudo mysqld --skip-g…

SpringBoot集成Swagger2的增强版Knife4j

1. 背景 作为SpringBoot集成中间件其中的一篇文章吧&#xff0c;既然打算出这么一个系列了&#xff0c;争取做到虽小却全&#xff0c;又精又美的一个系列吧。 Swagger应该都有接触吧&#xff0c;knife4j是Swagger2的增强版&#xff0c;更加友好的操作页面&#xff0c;更多强大…

瑞_力扣LeetCode_二叉树相关题

文章目录 说明题目 144. 二叉树的前序遍历题解 题目 94. 二叉树的中序遍历题解 题目 145. 二叉树的后序遍历题解 题目 105. 从前序与中序遍历序列构造二叉树题解 题目 106. 从中序与后序遍历序列构造二叉树题解 &#x1f64a; 前言&#xff1a;本文章为瑞_系列专栏之《刷题》的…