公众号历史文章采集

这篇具有很好参考价值的文章主要介绍了公众号历史文章采集。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

公众号历史文章采集

前言:采集公众号历史文章,且链接永久有效,亲测2年多无压力。

1.先在 https://mp.weixin.qq.com/ 注册一个个人版使用公众号,供后续使用。
2.点击左侧图文素材,新的创作,写新图文。

公众号历史文章采集,2021,java,python,数学建模

3.点击超链接后,填入要查询的公众号。

公众号历史文章采集,2021,java,python,数学建模公众号历史文章采集,2021,java,python,数学建模

公众号历史文章采集,2021,java,python,数学建模

4.一个小知识点,通过xpath拿到html源码,并提取正文。
def get_html_code(parseHtml, url, codeXpath):
    code_html = parseHtml.xpath(codeXpath)
    html = ''
    for i in code_html:
        # etree.tostring() #输出修正后的html代码,byte格式
        # 转成utf-8格式,然后decode进行encoding 指定的编码格式解码字符串
        html += etree.tostring(i, encoding='utf-8').decode()
    return html
5.F12抓包分析,发现token和cookie是绑定用户的,生成代码。

搜索公众号接口:query= xxxx
公众号历史文章采集,2021,java,python,数学建模
公众号历史文章采集,2021,java,python,数学建模文章链接及翻页接口: fakeid= 搜索公众号对应的id base64编码
若未固定公众号,可将该公众号id做映射表存放,减少请求
公众号历史文章采集,2021,java,python,数学建模
公众号历史文章采集,2021,java,python,数学建模文章来源地址https://www.toymoban.com/news/detail-603420.html

# encoding:utf-8
import json
import math
import time

from spiders.BaseSpider import BaseSpider
from mysqldb.mysql_util import select_link
from parse.requests_parse import requestsParse
from WX.WeChat_util import  parse_bjnews, parseWechat


class WeChatSpider(BaseSpider):
    """
        定义url和请求头
    """
    token = "你的token"

    def __init__(self):
        super().__init__()
        self.cookies = "你的cookie"

        self.params = {
            'action': 'search_biz',
            'begin': '0',
            'count': '50',
            'query': '',
            'fakeid': None,
            'type': 9,
            'token': self.token,
            'lang': 'zh_CN',
            'f': 'json',
            'ajax': '1'
        }

    def next_type(self, token, source, apartment, province, city, district, label):
        begin, count = 0, 1
        self.params["action"] = 'list_ex'
        self.params["query"] = ''
        content = self.get_information('https://mp.weixin.qq.com/cgi-bin/appmsg')
        page = int(math.ceil(json.loads(content).get("app_msg_cnt") / 5))
        #print(page)
        for index in range(page):
            if index % 3 == 0:
                time.sleep(60)
            try:
                if index:
                    begin += 5
                    self.params["begin"] = begin
                    print(f"正在获取第{begin}页数")
                    content = self.get_information('https://mp.weixin.qq.com/cgi-bin/appmsg')
                nextLink = parse_bjnews(content)
                for nextUrl in nextLink:
                    if not token:
                        # select_link 为查询数据库是否存在 增量采集
                        if not select_link(link=nextUrl):
                            break
                    self.nextUrl_q.put(nextUrl)

                if self.nextUrl_q.empty():
                    return

                #日常采集 requestsParse()为解析方法
                t = requestsParse(self.nextUrl_q, source, apartment, province, city, district,
                              titleXpath='//h2[@id="activity-name"]/text()',
                              codeXpath='//*[@id="js_content"]', labeel=label)
                
                if t :
                    return
            except Exception as e:
                print("Spider WeChat Main Error= " + str(e) + " Spider WeChat success page= " + str(
                    count) + ' ' + source)
        return


    def main(self, source, apartment, province, city, district, label):
        
        token = 0   #token为0为增量  1为全量  与select_link()做关联
        self.params["query"] = source
        html = self.get_information('https://mp.weixin.qq.com/cgi-bin/searchbiz')
        print(html)
        self.params["fakeid"] = parseWechat(html)
        self.next_type(token, source, apartment, province, city, district, label)


if __name__ == '__main__':
    WeChatSpider().main("公众号名称", "wechat", "省份", "市", "区",label="industrial_economy_policy")
6.贴出工具类中两个方法.
def parse_bjnews(content):
    content = json.loads(content)
    nextLink = []
    for link in content.get("app_msg_list"):
        # if titleParse(link.get("title")) and title_Wechat(link.get("title")):
        nextLink.append(link.get("link"))
    return nextLink


def parseWechat(html):
    try:
        html = json.loads(html)
        fakeid = html.get("list")[0].get("fakeid")
        return fakeid
    except:
        return

到了这里,关于公众号历史文章采集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 全国研究生数学建模竞赛资料【2004-2021】【详细整理】

    2021年第十八届全国研究生数学建模竞赛 【A题】相关矩阵组的低复杂度计算和存储建模 [题目] [附件] [优秀论文 0,1,2,3,4,5,6] 【B题】空气质量预报二次建模 [题目] [附件] [优秀论文 0,1,2,3,4,5,6,7,8] 【C题】帕金森病的脑深部电刺激治疗建模研究 [题目] [附件] [优秀论文 0,1,2,3,4,5,

    2024年02月06日
    浏览(28)
  • 2021 年数学建模A 题 “FAST”主动反射面的形状调节

    目录 问题1 解析及代码 问题2 答案及解析 问题3

    2024年02月14日
    浏览(26)
  • 2021 年数学建模竞赛题目D 题 连铸切割的在线优化

          在满足基本要求和正常要求的条件下,依据尾坯长度制定出最优的 切割方案。假定用户目标值为 9.5 米,目标范围为 9.0~10.0 米,对以下尾坯长 度:109.0、93.4、80.9、72.0、62.7、52.5、44.9、42.7、31.6、22.7、14.5 和 13.7(单位:米),按“尾坯长度、切割方案、切割损失”等

    2024年02月11日
    浏览(54)
  • 数学建模 好文章和资源推荐

    数学建模入门篇(0基础必看,全是自己的经验) 【竞赛|数学建模】Part 1:什么是数学建模和各模块介绍 0基础小白,如何入门数学建模? 数学建模入门篇(0基础必看,全是自己的经验) 重申了一下题目,但是还是很有必要,简要概述:解决实际问题时构建数学模型的过程。   

    2024年02月14日
    浏览(33)
  • 2022 数学建模B题成品论文 参考文章 含全部建模 步骤 数学模型 图像

    完整见https://mianbaoduo.com/o/bread/mbd-Y5eVm5xw 无人机遂行编队飞行中的纯方位无源定位 摘要 一、问题重述 1.1 问题背景 由于无人机集群在遂行编队飞行时, 应尽可能的避免外界干扰, 因此需要尽可能的保持电磁静默减少电磁波信号的发射.为保持编队队形, 拟采用纯方位无源

    2024年02月08日
    浏览(38)
  • 2021 年高教社杯全国大学生数学建模竞赛 E 题 中药材的鉴别 第一题

    目录 1.数据预处理  1.1 数据基本信息探索 1.2 数据可视化 1.3 异常值处理  2. 数据特征值提取  2.1 数据标准化  2.2 PCA提取特征值  3. 数据聚类鉴别药材种类 3.1 肘部图确定K值  3.2 轮廓系数图确定K值  3.3 数据聚类  3.4 聚类结果可视化  4. 研究不同种类药材的特征和差异性

    2024年02月06日
    浏览(60)
  • 2021第六届数维杯大学生数学建模竞赛赛题_C 运动会优化比赛模式探索

    运动会优化比赛模式探索 5月中旬恰好是各个大学召开每年一届的运动的时间节点。运动会已成为了大学校园里一道亮丽的风景线,运动会上振奋人心的开幕式、拍手称赞的比赛、激动人心的颁奖仪式都给参加运动会的同学们带来了一次精神上的享受。每一次运动会举办的过

    2023年04月13日
    浏览(39)
  • 2023 数学建模高教社杯 国赛(A题)建模秘籍&文章代码思路大全

    铛铛!小秘籍来咯! 小秘籍希望大家都能轻松建模呀,国赛也是 让我们看看A题~ 完整版内容在文末领取噢~ 1. 太阳位置计算: 计算太阳高度角(as)和方位角(ys): 太阳高度角: sinas=cosθcosδcosH+sinθsinδ 太阳方位角:sinys=sinθ−sinassinδ cosys=cosascosδsinH​ 其中: θ 为地点的

    2024年02月09日
    浏览(73)
  • 2023 华数杯(C题)解析+代码思路文章全解!特征分析规划数学建模

    母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护,还为婴儿提供情感支持和安全感。研究显示,母亲的心理状态会对婴儿的发展产生重要影响。本研究目标是利用这些数据,建立婴儿睡眠质量与母亲身心指标之间的关联模型。我们收集了母亲的人口统计学

    2024年02月14日
    浏览(26)
  • 2023 数学建模高教社杯 国赛(D题)养殖场经营||建模秘籍&文章代码思路大全

    铛铛!小秘籍来咯! 小秘籍希望大家都能轻松建模呀,国赛也会持续给大家放松思路滴~ 抓紧小秘籍,我们出发吧~ 来看看国赛D题的题目~ 完整版内容在文末领取噢~ 湖羊养殖场是一家以湖羊为主要养殖对象的养殖场,湖羊是国家级绵羊保护品种,具有优良的生长特性和适应性

    2024年02月09日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包