作为程序员,要时刻保持一颗好奇心和想要学习的姿态. 练习怎样利用搜狗微信爬取某指定微信公众号的历史文章.爬取微信公众号本身难度非常大,感谢搜狗提供了一个可以爬取数据的平台. 代码部分参考于: https://github.com/Chyroc/WechatSogou/tree/master/wechatsogou 目标: 1. 从http://weixin.sogou.com/搜狗微信搜索中获取指定公众号名称的搜索页面 2. 抓取指定公众号的历史文章列表 待解决难题: 如何从输入验证码页面自动跳…
早期Web开发面临的最大问题之一是如何管理状态.简言之,服务器端没有办法知道两个请求是否来自于同一个浏览器.这是cookies的起源. 什么是cookie? A cookie is a small stub of information left by a website on a visitor's computer through the web browser. 一个cookie就是存储在用户主机浏览器中的一小段文本文件.Cookies是纯文本形式,它们不包含任何可执行代码.存储cooki…
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等. Python之re模块(正则表达式操作) re.compile(pattern, flags=0) >>> pattern = re.compile("d") >>> pattern.search("dog") # Match at index…
json - JSON encoder and decoder JSON: JavaScript object notation,是一种轻量级的数据交换格式.JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串. JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台.JSON 解析器和 JSON 库支持许多不同的编程语言. JSON语法规则: 对象表示为键值对 数据由逗号分割 花括号保存对象 方括号保存数组 JS…
理解lxml以及xpath 什么是lxml? python中用来处理XML和HTML的library.与其他相比,它能提供很好的性能, 并且它支持XPath. 具体可以查看官方文档->http://lxml.de/index.html 结构化数据: XML, JSON 非结构化数据: HTML文本是最常见的数据格式,因为一般我们需要的关键信息并非直接可以得到,需要进行对HTML的解析查找,甚至一些字符串操作才能得到,所以归类于非结构化的数据处理中. 常见解析方式如下: XPath.CSS选择器.…
如何拼接想要的url http://weixin.sogou.com/weixin?type=1&page=1&ie=utf8&query=%E5%A4%A7%E7%BA%BD%E7%BA%A6%E5%90%83%E8%B4%A7%E5%B0%8F%E5%88%86%E9%98%9F 等同于 http://weixin.sogou.com/weixin?type=1&page=1&ie=utf8&query=大纽约吃货小分队 python中的urlencod…
前言 之前一直在美图秀秀调整自己的微信公众号首图,效果也不尽如人意,老是调来调去,最后发出来的图片被裁剪了一大部分,丢失部分关键信息,十分恼火,于是想着用python写一个程序,把微信公众号首图的模式固定下来,方便以后写公众号. 思路 根据微信公众号首图要求,可以上传一个不超过5M的图片,且图片尺寸要是2.35:1的尺寸,换算成像素是900:383,有了这些参数就可以做文章了,这里有两种思路 把今天推文的标题(文字)用图片展示出来,使得文字排列错落有致,简单粗暴,而又不失美感,这里可以利用mat…
本文面向想通过Python学习公众号开发的同学.一站式解决新手开发微信公众号遇到的所有问题. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造专栏],欢迎大家关注. github仓库地址https://github.com/injetlee/Python/tree/master/wechat 本篇文章首先实现与公众号的对接,实现简单的回复文字.图片内容.下一篇会对接腾讯的AI平台,实现对照片的人脸检测与分析,分析年龄.性别.表情.魅力值等. 准备工作 首先要注册一个公众号,这个很简单,我们…
1. 概述: 在本篇教程中,你将学会使用华为云弹性云服务器(以下简称 ECS)搭建微信公众号处理后台,使用Python语言编写对应的微信消息处理逻辑代码,接收从微信服务端转发过来的消息,并返回处理结果给最终用户.整个处理流程如下图所示: 您需要了解的背景知识有: CentOS(Linux)操作系统.PHP语言.Web.py框架.HTTP/XML协议. 1.1 准备事项 申请微信公众号 微信公众号申请链接:https://mp.weixin.qq.com/cgi-bin/loginpage?t=w…
本文面向想通过Python学习公众号开发的同学.一站式解决新手开发微信公众号遇到的所有问题. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造社区],欢迎大家关注. github仓库地址https://github.com/injetlee/Python/tree/master/wechat 本篇文章首先实现与公众号的对接,实现简单的回复文字.图片内容.下一篇会对接腾讯的AI平台,实现对照片的人脸检测与分析,分析年龄.性别.表情.魅力值等. 准备工作 首先要注册一个公众号,这个很简单,我们…
最近两三个月的时间,断断续续边学边做完成了一个微信公众号页面的开发工作.这是一个快递系统,主要功能有用户管理.寄收件地址管理.用户下单,订单管理,订单查询及一些宣传页面等.本文主要细数下开发过程中遇到的各种坑,也算是另外一种总结吧. 1. 开发语言及框架 Python + Flask + Bootstrap,数据库使用的是MySQL   2. 相关文档及Lib库 1) Bootstrap官方文档 http://v3.bootcss.com/getting-started/ 2) 微信公众号开发文…
前言 最近有微信公众号开发的业务,以前没有用python做过微信公众号开发,记录一下自己的学习和开发历程,共勉! 公众号类型 订阅号 普通订阅号 认证订阅号 服务号 普通服务号 认证服务号 服务方式 公众号消息会话:包括被动回复 公众号内嵌网页 公众号消息类型 群发消息:由公众号想用户发送消息: 被动回复消息:客户端发送消息,公众号回复: 客服消息:当用户主动发消息给公众号,公众号48小时里可以无限发送消息: 模板消息:使用特定的模板内容主动向用户发送消息: 公众号的网页接口 接口1: 网页被授…
最近在搞微信公众号开发,后端采用的是nodejs下的koa框架,初识后端的菜鸟,自己搞难度太大了,网上找了很多文章,采用的中间件大都是express框架下的,不过好在爬了许多坑之后总算看见点曙光了,遂把探索出来的一点东西拿出来分享,毕竟能力有限,拿出来也是希望大神看到了给点建议, 主要用 koa-wechat 处理验证和消息解析 ,用wechat-api来进行按钮组等api操作,刚开始没什么内容,大家随意看看就好, 废话不多说,直接上代码(这是一个route的代码): var koa = req…
前言 上一篇已经解决切换到微信公众号的webview上了,但是定位webview上元素的时候一直提示找不到,打印page_source也找不到页面上的元素,这个问题困扰了一整天,还好最后找到了原因, 此处埋了一个深坑,需要再次切换handle 切换到webview 1.上一篇已经详细介绍如何切换到微信公众号的webview上,这里就不重复说了,贴下代码: # 切换到webview time.sleep(2) print(driver.contexts) driver.switch_to.cont…
今天发现微信公众号中,居然可以编写python代码,很是惊喜,觉得蛮有趣的. 步骤如下: 1.关注微信公众号“Python程序员” 2.关注成功后,点击右下角的“潘多拉”->"Python终端“->"阅读原文”. 3.Python开发页面被打开,在下面的输入框内,输入python代码,点击确认即可. 可以用来练习python,是不是很有趣呢?…
在微信公众号开发中,使用api都要附加access_token内容.因此,首先需要获取access_token.如下: #获取微信access_token def get_token(): payload_access_token={ 'grant_type':'client_credential', 'appid':'xxxxxxxxxxxxx', 'secret':'xxxxxxxxxxxxx' } token_url='https://api.weixin.qq.com/cgi-bin/t…
新建图文回复模板reply_pictext.xml: $def with (toUser,fromUser,createTime,title1,description1,picurl1,url1)<xml><ToUserName><![CDATA[$toUser]]></ToUserName><FromUserName><![CDATA[$fromUser]]></FromUserName><CreateTime&g…
1.wechat-sdk sudo pip install wechat-sdk 文档地址:  http://ww2.wechat-python-sdk.com/ 2.wechat sudo pip install wechat 文档地址:  https://github.com/jeffkit/wechat 3.wechatpy(推荐) sudo pip install wechatpy 文档地址:  https://wechatpy.readthedocs.io/zh_CN/master/#…
前言 第一次写博客,主要内容是爬取微信公众号的文章,将文章以PDF格式保存在本地. 爬取微信公众号文章(使用wechatsogou) 1.安装 pip install wechatsogou --upgrade wechatsogou是一个基于搜狗微信搜索的微信公众号爬虫接口 2.使用方法 使用方法如下所示 import wechatsogou # captcha_break_time为验证码输入错误的重试次数,默认为1 ws_api = wechatsogou.WechatSogouAPI(c…
调用该脚本,可以向微信公众号发生告警. #!/bin/env python #coding:utf-8 #Author: Hogan #Descript : 微信公众号发送告警脚本 import urllib.request,json import sys from optparse import OptionParser # 更改为自己公众号参数 corpid = 'xxxx' secret = 'xxxx' toparty = ' agentid = ' class WeChat(objec…
前记:此文是我爱人一项作业.因为我本人对于微信这一块比较熟悉,就参与这项作业中.此文已经参加移动和教育相关活动.作者是我爱人,如有转载请署名作者. 一.什么是"互联网+"? 早在1969年互联网诞生之初,人们的初衷仅仅是对计算机之间的互相通信.就像电话.传真那样简单.而四十多年间互联网的发展用"日新月异"都嫌慢.互联网也从原先的固定线路的延展到基于移动通信的移动网络,互联的设备也从刚开始的以计算机为主发展到"connect to anything"…
与微信公众号看到一篇js复杂判断的文章,对我启发很大,故转到博客园以供后期不断学习并应用于项目.原文地址:https://mp.weixin.qq.com/s/ClFDRj4MnAxv1dJ5VWKSJQ 前提 我们编写js代码时经常遇到复杂逻辑判断的情况,通常大家可以用if/else或者switch来实现多个条件判断,但这样会有个问题,随着逻辑复杂度的增加,代码中的if/else/switch会变得越来越臃肿,越来越看不懂,那么如何更优雅的写判断逻辑,本文带你试一下. 举个例子 先看一段代码…
首先打开开发文档: 微信公众号开发者文档:http://mp.weixin.qq.com/wiki/home/index.html 一.创建测试账号 可以先申请一个开发者测试账号…
爬取策略 1.需要安装python selenium模块包,通过selenium中的webdriver驱动浏览器获取Cookie的方法.来达到登录的效果 pip3 install selenium chromedriver: 下载地址:http://chromedriver.storage.googleapis.com/index.html chromedriver与chrome的对应关系表 http://blog.csdn.net/huilan_same/article/details/518…
一.思路 我们通过网页版的微信公众平台的图文消息中的超链接获取到我们需要的接口 从接口中我们可以得到对应的微信公众号和对应的所有微信公众号文章. 二.接口分析 获取微信公众号的接口: https://mp.weixin.qq.com/cgi-bin/searchbiz? 参数: action=search_biz begin=0 count=5 query=公众号名称 token=每个账号对应的token值 lang=zh_CN f=json ajax=1 请求方式: GET 所以这个接口中我们…
前言: 之前收藏了一个叫微信公众号的文章爬取,里面用到的模块不错.然而 偏偏报错= =.果断自己写了一个 正文: 第一步爬取搜狗微信搜到的公众号: http://weixin.sogou.com/weixin?type=1&query=FreeBuf&ie=utf8&s_from=input&_sug_=n&_sug_type_=1&w=01015002&oq=&ri=11&sourceid=sugg&sut=0&ss…
使用 Fiddler 抓包分析公众号 打开微信随便选择一个公众号,查看公众号的所有历史文章列表 在 Fiddler 上已经能看到有请求进来了,说明公众号的文章走的都是HTTPS协议,这些请求就是微信客户端向微信服务器发送的HTTP请求. 模拟微信请求  1.服务器的响应结果,200 表示服务器对该请求响应成功2.请求协议,微信的请求协议都是基 于HTTPS 的,所以Fiddle一定要配置好,不然你看不到 HTTPS 的请求.3.请求路径,包括了请求方法(GET),请求协议(HTTP/1.1),请…
目的:用PHP在SAE上搭建一个微信公众号的服务器. 1.申请一个SAE云账号 SAE申请地址:http://sae.sina.com.cn/  可以使用微博账号登陆,SAE是新浪的云服务,时间也比较长了,功能比较多. 特点:免费使用,对于学习者而言已经够用了,长时间用充点云豆也花不了多少钱(最低每天10云豆消费),几十块钱(1元=100云豆)玩一年还是可以的. AWS:如果使用aws免费的空间,很容易用超免费额度,而且用超了额度不会停止,而是从信用卡扣费,以美元计价价格对于学习者而言非常昂贵!…
第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解 封装模块 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib from urllib import request import json import random import re import urllib.error def hq_html(hq_url): """ hq_html()封装的…
封装模块 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib from urllib import request import json import random import re import urllib.error def hq_html(hq_url): """ hq_html()封装的爬虫函数,自动启用了用户代理和ip代理 接收一个参数url,要爬取页面的url,返回html源码 "…