精华内容
下载资源
问答
  • 关注CSDN程序人生公众号,轻松获得下载积分

    万次阅读 多人点赞 2016-11-24 16:29:44
    关注公众号公众号里回复“”秘密“”两个字 返回 http://task.csdn.net/m/task/home?task_id=398 领取奖励 提示:根据公众号里的自动回复,完成答案。

    关注CSDN程序人生公众号
    在公众号里回复“”秘密“”两个字
    根据回复提示到 http://task.csdn.net/m/task/home?task_id=398 领取奖励
    答案一定是到 http://task.csdn.net/m/task/home?task_id=398里填写的!!!

    这里写图片描述

    展开全文
  • 需求场景:关注很多的微信公众号,有时候看到很好的文章,过段时间再想查看下,发现找不到历史的文章记录了,也没有一个根据文章名称检索的地方。现在利用python爬虫爬取微信公众号的文章,数据存入到数据库中。可以...

    需求场景:关注很多的微信公众号,有时候看到很好的文章,过段时间再想查看下,发现找不到历史的文章记录了,也没有一个根据文章名称检索的地方。现在利用python爬虫爬取微信公众号的文章,数据存入到数据库中。可以定时读取微信公众号的最新文章,方便日后的读取和查询。

    实现思路:通过微信公众号登录获取想要的微信公众好的fakeid,token和cookie(token和cookie是每天更新的,这个目前还没有实现自动获取,后续更新会继续)。现将步骤和代码奉上

    步骤一:登录微信公众号获取token和cookie,fakeid

    登录微信公众--创作管理--图文素材

    步骤二:通过代码获取文章列表把数据存入mysql

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @File  : articleCollection.py
    # datetime:2020/11/5 10:58
    
    
    import time
    import random
    import requests
    import json
    import pandas as pd
    import mysql
    from cookie import getCookie, getFakeId
    
    
    # 毫秒数转日期
    def getDate(times):
        # print(times)
        timearr = time.localtime(times)
        date = time.strftime("%Y-%m-%d %H:%M:%S", timearr)
        return date
    
    
    def listAllArticle(fakeId):
        # with open('cookie.txt', 'r', encoding='utf-8') as f:
        #     cookie = f.read()
        # cookies = json.loads(cookie)
        # 目标url
        url = "https://mp.weixin.qq.com/cgi-bin/appmsg"
        # 使用Cookie,跳过登陆操作
        headers = {
            "Cookie": "appmsglist_action_3253322613=card; pgv_pvi=1927635968; RK=qb4RrLzDY3; ptcz=8e89a2e6f2a59b1a3f8a0f31ddac1c9377a330495aa98d6782318128d951fbde; pgv_pvid=3216855634; o_cookie=876860131; pac_uid=1_876860131; sd_userid=48741598419620498; sd_cookie_crttime=1598419620498; ua_id=HyCPg850LnH9CM3IAAAAAERZlptrn4Ugx5qlWDhDiUk=; mm_lang=zh_CN; openid2ticket_oFz_G00ma08fbv-hIlBEH6O6q6fE=; noticeLoginFlag=1; openid2ticket_oYj8c00Jx-5q4pqWDv11SI2X5ofc=; openid2ticket_oiYgP0Uqf2UZrNA391GmMDwJGcCE=; openid2ticket_ojB5L5CfumKlgHCgLAklgd5KEx4Y=; wxuin=03948109754498; remember_acct=463451476%40qq.com; ts_uid=611546807; openid2ticket_oVOWI5PW7Zm4a3wtuO1qNGNvoz-c=; luin=o0876860131; lskey=000100000766fb94649b295f405b49b4fccf586695f86fce7607f4d8ae57d26bbcb0301dbbf27c6270924611; openid2ticket_ooIDA4uHEZzqbrxbGu9AbKC12u-Q=; pgv_si=s1613571072; uuid=2e283eb009db08eaf4670f9242d7552f; rand_info=CAESIALz/RAVT8BuYAVfLpMNUKBAqgZZl6Edk1INJYS1j5AJ; slave_bizuin=3253322613; data_bizuin=3236413511; bizuin=3253322613; data_ticket=gU6uFdhksZuwfq6BMxYWp1PTkqrSZbknRl67RSBCVqcR65/ypmY41ldD5fsQ5/F0; slave_sid=Q3lsZHBsZ0JaQTdwV1gwMlpVSkU4dTBRRng2aVZJUXdPbDJrc0FNUWFXZ011VnRqVlZ1Z28xektlZzdfZGc2Wlo3VDV4R1h3NjY5dWJKZDRZTmNRV1NRQzdJNUR6UDBHQWVRVGRZcWIyTExCbkdDSURHYUdFT0FaVE9mazBPNDB0MUpGdkJFZHlUeUpNWFBs; slave_user=gh_142dc657372c; xid=6a58b8adab44b39b8aa19a7fb675f9c9; openid2ticket_oR8DnwJPMyNDbpsKFzdTxkqtKcmk=aXPZY0GRnsCCNvQJDcRjByPJv4/HgJg1agmjuL8MlQk=",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36",
        }
        data = {
            "token": "379017573",
            "lang": "zh_CN",
            "f": "json",
            "ajax": "1",
            "action": "list_ex",
            "begin": "0",
            "count": "5",
            "query": "",
            "fakeid": fakeId,
            "type": "9",
        }
        for i in range(2):
            data["begin"] = i * 5
            # 生成3-10的随机整数,方便下面程序间隔时间
            sleepTime = random.randint(3, 10)
            print(sleepTime)
            time.sleep(sleepTime)
            content_json = requests.get(url, headers=headers, params=data).json()
            for item in content_json["app_msg_list"]:
                # 提取每页文章的标题及对应的url
                items = [item["title"], item["link"], item["cover"], getDate(item["create_time"]), item["digest"],
                         item["item_show_type"], getDate(item["update_time"]), ''.join(fakeId)]
                print(items)
                mysql.saveWeChatArticle(items)
    
    
    if __name__ == '__main__':
        listFakeId = mysql.listWeChatFilId()
        for i in listFakeId:
            print(''.join(i))
            listAllArticle(i)
    

    从mysql中查询faikid和把文章列表存入mysql

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @File  : mysql.py
    # datetime:2020/11/5 10:44
    import pymysql
    
    from dbutils.pooled_db import PooledDB
    
    POOL = PooledDB(
        creator=pymysql,  # 使用链接数据库的模块
        maxconnections=6,  # 连接池允许的最大连接数,0和None表示不限制连接数
        mincached=2,  # 初始化时,链接池中至少创建的空闲的链接,0表示不创建
        maxcached=5,  # 链接池中最多闲置的链接,0和None不限制
        maxshared=3,
        # 链接池中最多共享的链接数量,0和None表示全部共享。PS: 无用,因为pymysql和MySQLdb等模块的 threadsafety都为1,所有值无论设置为多少,_maxcached永远为0,所以永远是所有链接都共享。
        blocking=True,  # 连接池中如果没有可用连接后,是否阻塞等待。True,等待;False,不等待然后报错
        maxusage=None,  # 一个链接最多被重复使用的次数,None表示无限制
        setsession=[],  # 开始会话前执行的命令列表。
        ping=0,
        # ping MySQL服务端,检查是否服务可用。
        host='10.63.4.53',
        port=20318,
        user='root',
        password='f608a3fd',
        database='sy_jzfp',
        charset='utf8'
    )
    
    
    def func():
        # 检测当前正在运行连接数的是否小于最大链接数,如果不小于则:等待或报raise TooManyConnections异常
        # 否则 则优先去初始化时创建的链接中获取链接 SteadyDBConnection。
        # 然后将SteadyDBConnection对象封装到PooledDedicatedDBConnection中并返回。
        # 如果最开始创建的链接没有链接,则去创建一个SteadyDBConnection对象,再封装到PooledDedicatedDBConnection中并返回。
        # 一旦关闭链接后,连接就返回到连接池让后续线程继续使用。
        conn = POOL.connection()
    
        # print(th, '链接被拿走了', conn1._con)
        # print(th, '池子里目前有', pool._idle_cache, '\r\n')
    
        cursor = conn.cursor()
        cursor.execute('select * from two_clour_two')
        result = cursor.fetchall()
        for i in result:
            print(i)
        conn.close()
    
    
    # 数据库插入操作
    def saveDouBan(dict):
        conn = POOL.connection()
        cursor = conn.cursor()
        sql = "insert into two_clour_two (`code`, `red_1`, `red_2`, `red_3`, `red_4`, `red_5`, `red_6`, `blue`,`sum`,`std`,`var`,`create_date`) values(\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\")" % (
            str(dict[0]), str(dict[1]), str(dict[2]), str(dict[3]), str(dict[4]), str(dict[5]), str(dict[6]),
            str(dict[7]), str(dict[8]), str(dict[9]), str(dict[10]), str(dict[11]))
        cursor.execute(sql)
        print('Successful')
        conn.commit()
        cursor.close()
    
    
    # 数据库插入操作
    def saveWeChatArticle(dict):
        # name = ['title', 'link', 'cover', 'create_time', 'digest', 'item_show_type', 'update_time', 'fakeid']
        conn = POOL.connection()
        cursor = conn.cursor()
        sql = "insert into we_chat_article (`title`, `link`,`cover`, `create_time`, `digest`, `item_show_type`, `update_time`, `fakeid`) values(\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\")" % (
            pymysql.escape_string(dict[0]), str(dict[1]), str(dict[2]),
            str(dict[3]), str(dict[4]), str(dict[5]),
            str(dict[6]), str(dict[7]))
        cursor.execute(sql)
        # print('Successful')
        conn.commit()
        cursor.close()
    
    
    def listWeChatFilId():
        conn = POOL.connection()
        cursor = conn.cursor()
        cursor.execute("select fake_id from wechat_public where del_flag ='0' ")
        result = cursor.fetchall()
        # for i in result:
        #     print(i[0])
        conn.close()
        return result
    
    
    if __name__ == '__main__':
        listWeChatFilId()
    

     

    执行效果和结果如下

     

    后记:改方法目前存在问题如如下:

    1、不能实现自动的获取token和faikid;每天需要手动获取;

    2、定时任务还没有加,获取的文章有一些重复的(目前的做法是取前两页列表的数据,重复的没有判断)

    3、获取条数过多会被腾讯封IP;

    4、后面会把数据接入微信小程序中。

    这个是自己目前开发的一个app还不成熟

     

    展开全文
  • 个人公众号

    2017-08-29 21:53:45
    公众号

    欢迎关注我的微信公众号【有关SQL】!

    回复【1024】,免费获取数据库开发、管理及大数据应用电子书
    这里写图片描述

    展开全文
  • 公众号与公众平台 1. 微信账号类型 个人号 公众号 订阅号 服务号 企业号 2. 公众号 微信公众号主要面向名人、政府、媒体、企业等机构推出的合作推广业务。在这里可以通过微信渠道将品牌推广给上亿的微信...

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!

    一丶概述

    公众号与公众平台

    1. 微信账号类型

    • 个人号
    • 公众号
      • 订阅号
      • 服务号
    • 企业号

    2. 公众号

    微信公众号主要面向名人、政府、媒体、企业等机构推出的合作推广业务。在这里可以通过微信渠道将品牌推广给上亿的微信用户,减少宣传成本,提高品牌知名度,打造更具影响力的品牌形象。

    3. 公众平台

    微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台,而公众平台开发接口则是提供服务的基础,开发者在公众平台网站中创建公众号、获取接口权限后,可以通过阅读公众平台开发接口文档来帮助开发。

    微信公众平台可以用来注册、管理公众号企业号

    登录网址:https://mp.weixin.qq.com/

    进入上面网址,可进行登录及注册

    注册流程:

    • step1 基本信息

    • step2 选择类型

    • step3 信息登记

    • step4 公众号信息

    • step5 完成注册后,进行登录,首先需使用手机进行扫码

    • 在手机端显示此界面,确认无误后,确定即可

    • 通过身份验证后,即可在网页端对创建的公众号进行简单配置,如下图

    • 一些简单的功能添加以及配置(需要啥配置啥即可,简单操作这里不做详细说明了)

    4. 公众号与个人号的区别

    微信公众号和个人号是完全不同的。

    微信对个人号的定位是普通用户之间的交流和通讯,微信并不鼓励和支持使用个人号进行营销推广(微信曾经大规模封杀好友过多的营销个人号)。

    而公众号则完全是为品牌推广、信息推送等服务而定制的。使用公众号,可以向关注者(即粉丝)群发图文消息,粉丝在对话界面看到消息后,可以点击跳转到一个图文页面。公众号还提供关键词自动回复等基础功能,以此可以随时、自动的和粉丝进行互动。

    除了这些基础功能之外,更大的区别是,微信针对公众号开放了很多程序接口。在这些接口的基础上,可以向粉丝提供更多的服务。此外,认证的服务号还可以申请微信支付。粉丝可以使用微信支付向进行付款(订购服务或购买商品)。所有这些,都是个人号不具备的。

    微信公众号的注册几乎是没有门槛的。不过针对不同类型的公众号,微信提供的功能不同,资质要求也不一样。

    二丶微信开发原理

    公众号主要通过

    • 公众号消息会话
    • 公众号内网页

    来为用户提供服务的。

    • 公众号消息会话

    公众号是以微信用户的一个联系人形式存在的,消息会话是公众号与用户交互的基础。

    • 公众号内网页

    许多复杂的业务场景,需要通过网页形式来提供服务。

    • 使用微信服务器提供的功能无法满足我们的需求

    设想两个场景:

    1. 公众号的消息自动回复想做的智能一些,类似于iphone的Siri,例如粉丝发送“今天的北京天气”到公众号,回复粉丝信息时要按照特定时间特定城市给予反馈;

    2. 公众号内嵌的网页需要获取浏览用户的微信头像、昵称、当前定位等信息

    • 模型分类

    无扩展应用模型

    1. 公众号消息会话

     

    2. 公众号内网页

    有扩展应用模型

    1. 公众号消息会话

    2. 公众号内网页

    • 公众号接口

    1. 公众号消息会话

    目前公众号内主要有这样几类消息服务的类型,分别用于不同的场景。

    群发消息

    公众号可以以一定频次(订阅号为每天1次,服务号为每月4次),向用户群发消息,包括文字消息、图文消息、图片、视频、语音等。

    被动回复消息

    在用户给公众号发消息后,微信服务器会将消息发到开发者预先在开发者中心设置的服务器地址(开发者需要进行消息真实性验证),公众号可以在5秒内做出回复,可以回复一个消息,也可以回复命令告诉微信服务器这条消息暂不回复。被动回复消息可以设置加密(在公众平台官网的开发者中心处设置,设置后,按照消息加解密文档来进行处理。其他3种消息的调用因为是API调用而不是对请求的返回,所以不需要加解密)。

    客服消息

    在用户给公众号发消息后的48小时内,公众号可以给用户发送不限数量的消息,主要用于客服场景。用户的行为会触发事件推送,某些事件推送是支持公众号据此发送客服消息的,详见微信推送消息与事件说明文档。

    模板消息

    在需要对用户发送服务通知(如刷卡提醒、服务预约成功通知等)时,公众号可以用特定内容模板,主动向用户发送消息。

    2. 公众号内网页

    对于公众号内网页,提供以下场景接口:

    网页授权获取用户基本信息

    通过该接口,可以获取用户的基本信息

    微信JS-SDK

    是开发者在网页上通过JavaScript代码使用微信原生功能的工具包,开发者可以使用它在网页上录制和播放微信语音、监听微信分享、上传手机本地图片、拍照等许多能力。

    3.微信开发者文档

    文档链接地址:https://mp.weixin.qq.com/wiki/home/index.html

     

     

     

     

     

    展开全文
  • 微信公众号

    2018-03-09 13:48:46
    微信公众号微信公众号微信公众号微信公众号微信公众号微信公众号
  • Asp.Net 公众号代码 .net微信公众号代码 微信公众号代码 Asp.Net 公众号代码 .net微信公众号代码 微信公众号代码 Asp.Net 公众号代码 .net微信公众号代码 微信公众号代码 Asp.Net 公众号代码 .net微信公众号代码 ...
  • 微信公众号开发基本流程

    万次阅读 多人点赞 2019-04-07 16:46:18
    过年前后做了个微信公众号项目,已经过去一段时间了,抽空回忆总结下基本流程吧,不然很快估计自己就忘了。。 微信公众平台官网:https://mp.weixin.qq.com 文章目录一、注册公众号二、了解公众号管理页面三、必备...
  • 关注公众号是所有客户都需要的一个功能,所以如何实现网页中不扫二维码,直接通过点击按钮的形式去关注公众号呢? 我们要通过获取一个uinID拼接地址实现跳转关注公众号,那么下面有2种获取他的办法。 第一种 1.登录...
  • SpringBoot微信公众号开发

    千人学习 2019-06-02 10:48:56
    通过热门框架spring boot来学习微信公众号开发,帮助同学们快速入门微信公众号开发。
  • 三、普通订阅号(公众号设置) 1、登录微信公众平台 2、【公众号设置】账号详情 (1)公开信息:修改个人微信公众号头像 (2)公开信息:修改微信公众号名称 (3)公开信息:设置微信公众号的微信账号 (4)...
  • PHP微信公众号H5授权登录,判断用户是否关注公众号源码
  • 微信公众号开发之接收与发送消息

    万次阅读 2018-12-28 22:04:14
    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! ... 一丶概论 公众号接收与发送消息 ...如果公众号类型为服务号(订阅号只能使用普通消息接口),可以在公众平台网站中申请认证...
  • 微信公众平台开发之公众号JSSDK开发是子恒老师《微信公众平台开发》视频教程的第9部。详细讲解了用php开发微信公众号,对微信公众平台中的JSSDK开发。内容包含用JSSDK获取网络状态,地理位置,分享到朋友圈,QQ,...
  • 微信公众号之开发者工具

    万次阅读 2018-06-30 00:32:11
    一、前言 这次的项目主要是关于微信公众号的一个开发,本人这次分配的模块是后台微信公众号的支付和退款,第一次接触微信公众的项目刚开始一脸懵逼,开发过程中遇到各种坑,所以想自己写一篇详细的关于微信公众号的...
  • 微信公众号使用教程

    万人学习 2016-06-24 14:48:46
    微信几乎是智能手机上必装的软件,很多的商家在微信上开通公众号,想要把公众号的价值发挥大,必须学会公众号的使用,开发和营销。这一套课程重点教你学会公众号的使用,为后面的做好基础。欢迎反馈,QQ/微信:...
  • 拼车微信公众号源码

    2018-05-21 17:07:50
    拼车微信公众号源码拼车微信公众号源码拼车微信公众号源码拼车微信公众号源码拼车微信公众号源码拼车微信公众号源码
  • 微信公众号支付测试方法

    万次阅读 2017-11-06 15:07:14
    一般情况下,微信公众号的相关功能的测试都是可以在测试号上完成的。但是微信公众号支付却不在测试号的测试范围之内。 微信不允许在测试号进行公众号支付测试,所以导致了我们项目对支付进行了改动之后,导致无法在...
  • 公众号刷阅读量 公众号刷阅读平台

    千次阅读 2020-12-08 16:50:31
    想要做好微信公众号运营的话,文章的阅读量必须多,假如公众号发布的文章没有什么阅读量,那么后期很多运营工作就不方便开展。而如果文章的阅读量很多,这就能够大大提升可信度,提升大家的参与程度。这里建议大家...
  • 微信公众号开发,本质是一个网页的形式,用户进入这个网页系统,并不一定要关注公众号,只要提供链接,就可以直接进入。例如电动车充电桩系统,用户直接用微信的扫一扫,扫描插座二维码,就可以进入充电系统,并没有...
  • 可以套用别人的公众号排版吗?如何套用我们浏览公众号时,经常会看到一些排版好看的文章。相信有不少人都想过,将别人好看的排版样式应用在自己的公众号文章中。但是公众号文章模板并不能通过复制粘贴的方式使用,...
  • 记录一次未认证公众号接入公众号支付 话虽这样说,实际必须有一个已经认证且已经可以使用微笑公众号支付的公众号A 公众号B没有认证,调用支付全部使用公众号A的参数(AppID,AppSecrect,paySignKey,MCHID) ...
  • 微信公众号系列之测试号使用

    万次阅读 2016-03-23 15:36:31
    在微信公众平台认证之前,我们可以先申请一个测试的公众号来进行测试,这对开发人员来说还是有很大好处的! 微信公众平台提供了测试账号,在公众账号没有审核之前,也是可以进行开发的。进入后台->开发者工具-...
  • 课程以微信公众号开发视角,讲解JAVA开发微信公众号所需的框架、第三方工具。 购买套餐还赠送经典微信开发课程——[微信公众号_独立知识点]环境搭建。该课程针对各种复杂的网络环境,讲解如何构建开发环境,已解决...
  • 公众号文章公众号排行榜文章分类请登录http://xitu123.com
  • 今天给大家带来的教程 是搭建属于自己的搜题公众号 本文附赠个人专属题库URL和Token 自己可以设置尾巴,同时支持语音搜题 对接的千万级别题库,看下图是我刚搭建好的成品公众号: 下面带大家搭建搜题公众号 首先...
  • 今天带大家制作属于自己的网课搜题公众号教程 需要材料: 1.注册微信公众号(已经注册好的,直接登录自己公众号即可) 注册公众号教程: 点我进入注册公众号详细教程,如已有公众号请忽略。 2.题库接口注册(题库...
  • 微信公众号认证、公众号与小程序关联 本人在刚接触小程序的时候,着实被微信的各种账号申请折磨了一番,为避免读者在账号申请上走过多弯路,耽误时间,借此稍作说明。目录为: 1 微信账号分类 2 账号申请、认证...
  • ➢ 微信公众号运营教程(二)设置公众号&了解公众号的一些基本功能 经过上一篇教程 ➢ 微信公众号运营教程(一)申请一个微信公众号 我们已经申请好了自己的公众号,接下来我们要对公众号进行一些设置...
  • 微信公众号获取unionid

    万次阅读 2018-03-07 16:09:02
    每个公众号可以用openid作为唯一标识,但是在不同的公众号,openid是不一样的,如果一个公司有几个公众号,或者有一个公众号,一个小程序,openid不一样,怎么统一数据呢? 微信官方提供了unionid,在同一个账号...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 228,429
精华内容 91,371
关键字:

公众号