推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python爬虫的大学校园公众号开发

更新时间:2019-12-24 05:28:07 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

关 键 词】 核心程序 开发者 公众号 网络爬虫技术 服务器 大学校园 正则表达式 PYTHON


部分文件列表

文件名 大小
基于Python爬虫的大学校园公众号开发.pdf 2M

部分页面预览

(完整内容请下载后查看)
2019年  
珠 江 教 育 论 坛  
1期  
Python爬虫的大学校园公众号开发  
梁金龙小林  
据统计前微信注册用户数量已接10亿[1]。由于微  
面创建 5 个二级菜单"type"的值是二级菜单的响应动作类  
信用户具有量大注度高持群发等特点府部门企  
业单位至个人都纷纷注册使用公  
众号。但很多公众号被受众关注得不多要原因是这些公  
众号难以提供有质量的推文和服务。为了提高公众号的关  
注度些高校教师进行了调查研究研究[2]认为用户的期  
望确认知有用知娱乐容丰富度以及感知服务质量  
都显著影响用户对公众号满意度和持续使用意愿。也有研  
[3]认为高校微信公众号的使用意愿主要受到感知有用性、  
感知娱乐性与信息感知质量 3 个因素影响。可见微信公众  
号的有用性乐性与有质量的信息是至关重要的。针对校  
园公众号被关注较少这个问题Python网络爬虫技术对  
公众号进行二次开发注册的公众号中增加公众号推文、  
网络新闻络笑话等信息自动推送学校校园文化建设  
提供可行方案。  
click view 等类型二个"name"的值是二级菜单  
"key"的值是二级菜单的 KEY 自定义。其中 click  
是点击推送事件户点click类型按钮后信服务器会  
接收事件推送口推送 XML 结构数据给开发者并  
且带上按钮中开发者填写的 KEY 发者可以通过 KEY  
值与用户进行交互。  
“接收事件推送口是微信服务器把 POST 息的  
XML 类型数据包推送给开发者服务器微信用户和公众  
号产生交互的过程中发者可以通过接口获取用户的操作  
信息。XML 数据包中包含开发者微信号(ToUserName)微  
信用户帐号(FromUserName)息创建时间(CreateTime)消  
息类MsgType件类Event事件 KEY Event-  
Key开发者根据消息类型件类型和事件 KEY 值对微  
信用户的操作进行判断和处理。  
“自动回复口是开发者服务器把回复消息XML结  
构数据包推送给微信服务器“接收事件推送自动  
回复口同时调用现公众号自动接收并回复用户消息,  
可以回复文本信息片信息文信息等“自动回复口  
回复的消息类型不同XML 结构数据包需要传递的参数也  
不同每个数据包都必须传递 3 个参数信用户帐号  
(ToUserName)发者微信号(ToUserName)和消息创建时  
(CreateTime)。特别强调“自动回复口传输ToUser-  
Name FromUserName 接收事件推送口接收的相  
发时要分清楚“自动回复口采用 https 请求 POST  
方式调用。  
众号的二次开发接口  
微信公众号与开发者的服务器搭建后以通过调用公  
众号的接口实现公众号二次开发。微信平台提供的公众号  
接口获取 access_token“接收事件推送“自  
动回复“自定义菜单口。  
获取 access_token口时要传递 3 个参数:  
grant_typeappidsecret中授权类型参grant_type是客  
户端证书 client_credentialappid 是公众号开发识别码  
IDsecret是开发者密码。采httpsGET请求方式调  
获取 access_token求的网页地址是
weixin.qq.com/cgi-bin/token?grant_type=client_credential&ap-  
pid=APPID&secret=AppSecret“自定义菜单口的传输参数  
access_token和自定义菜单数据包。采https请求POST  
方式调自定义菜单求的网页地址
ixin.qq.com/cgi- bin/menu/create?access_token=ACCESS_TO-  
KEN。自定义菜单数据包结构是 Json 结构Json 结构名  
\值对式储存信息码类似为{"button": [{ "name": "  
网络爬虫", "sub_button": [{"type": "click", "name": "微信公  
众号推文", "key": "V1"}]}]}。其中名称为"button"的值是一  
级菜单列表在里面创建 3 个一级菜单一个"name"的  
值是一级菜单名"sub_button"的值是二级菜单列表在里  
络爬虫相关原理  
网络爬虫是一种按照特定规则动抓取网络信息的程  
序或者脚本[4]。网络爬虫的结构如图 1 所示般包括初始  
URL页爬取模块页分析模块和数据库中网页爬取  
模块和网页分析模块是核心模块。  
python爬虫网页爬取模块的爬取方法通常有源码爬取、  
抓包爬取。源码爬取是用 python 发起 HTTP 请求直接获取  
网页HTML源代码包爬取则是爬HTTP请求中的传  
输数据包过对数据url的直接访问爬取数据包。  
21  
珠江教育论坛  
116期  
号的菜单云服务器上开发接收和处理微信信息的程序,  
搭建数据库存放信息XML 数据包。大学校园公众号  
二次开发包括发微信公众号推文爬虫发新闻爬虫和  
开发段子爬虫爬虫部署到公众号。  
大学校园公众号开发的技术思路如图 2 所示。用户进  
行某个操作的消息会发到微信服务器信服务器发送消息  
XML 数据包给开发者服务器发者服务器接收并解析  
数据包断事件类型果消息不是自定义菜单事件复  
success信服务器确定开发者收到了粉丝消息会提示  
公众号异常果是自定义菜单事件据事KEY值判断  
用户点击的爬虫菜单询该需求的爬虫信息是否存在于数  
据库果是数据库提取信息装成特定的 XML 数据  
复给微信服务器果否行相应的爬虫爬取信息,  
存入数据库再提取给微信服务器。  
图1 络爬虫原理图  
网页分析模块解析方法包括正则表达式解析Beautiful-  
Soup解析Json解析。正则表达式是由一系列特殊字符和  
普通字符组成的字符集合[5]匹配网页源码中特定字符串,  
提取相应信息BeautifulSoup解析则是应Python第三方库  
Beautiful Soup 进行解析Beautiful Soup 将复杂的 HTML 网  
页转换成一个复杂的树形结构,树形结构每个节点都是 Py-  
thon 对象有对象可以归纳为 4 : Tag BeautifulSoup 、  
NavigableStringcommentTag 对象与 XML HTML 原生  
文档中的 tag 定义相同NavigableString 类对象被 Beautiful  
Soup用来包tag中的字符串NavigableString 字符串Py-  
thon 中的 Unicode 字符串定义相同BeautifulSoup 对象表示  
的是一个文档的全部内容部分时候,可以把它当作 Tag  
对象Comment 对象是一个特殊类型的 NavigableString 对  
象。Beautiful Soup 库支持最常用的 CSS 选择器,Tag 或  
BeautifulSoup 对象select() 方法中传入对象的字符串参数  
, 即可使用 CSS 选择器的语法找到该 Tag[6]getText()方  
法可获取 Tag 中字符串。Json 是一种轻量级的数据交换格  
名称\值对式储存信息于机器解析和生成所  
以网络传输数据一般采用 JsonJson 解析是应用 Python 第  
三方jsonJson结构的数据包Json数据包中的  
“名称值对息。Json 解析使用方法有 dumps()和  
loads(),dumps()Python对象编码成 JSON 字符串loads()  
是将字符串解码为 Python 对象。  
图2 学校园公众号开发的技术思路图  
学校园公众号开发平台搭建  
(一众号绑定开发者服务器  
本文公众号二次开发环境包括web.py为网络框架py-  
thon为开发语言和腾讯云服务器。运web.py搭建网页复  
制微信公众平台技术文档[7]搭建服务测试代码 main.  
py 到开发者服务器命令提示符执行命令sudo python  
main.py 80可搭建能接收微信服务器信息的网页。完成  
录公众平台官网基本设置开启公众号的  
开发者模式服务器配置修改配置。需要修改的参数  
urlTokenurl写开发者服务器搭建的网页地址,  
Token以自主设置用于验证开发者服务器。点击提  
交按钮信公众平台会对开发者服务器进行验证token  
验证成功自动返回基本配置的主页面击启动按钮即  
可绑定开发者服务器。  
作思路  
开发工作主要包2部分学校园公众号开发平台搭  
建和大学校园公众号二次开发。大学校园公众号开发平台  
搭建包括众号验证绑定服务器接口工具自定义公众  
(二建公众号的菜单  
创建公众号的菜单需要调access_token口获  
22  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载