python爬微信公众号前10篇历史文章(2)

  • 如何拼接想要的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中的urlencode

当url地址当中含有中文,需要把中文做一下编码转换。 如上“大纽约吃货小分队”将转换成 “%E5%A4%A7%E7%BA%BD%E7%BA%A6%E5%90%83%E8%B4%A7%E5%B0%8F%E5%88%86%E9%98%9F ”。

其实就是gbk编码。

urllib库里面有urlencode函数可以将key value这样的键值对转换成我们想要的格式。

urllib.parse.urlencode(query, doseq=False, safe=‘‘, encoding=None, errors=None, quote_via=quote_plus)

此函数输入是字典格式的键值对,输出为key=value的形式,以%间隔。

生成上述url的ptyhon代码如下:

 1 import urllib.parse
 2 urlencode = urllib.parse.urlencode
 3 def gen_search_gzh_url(wechat_name):
 4
 5     query_string_dict = dict()
 6     query_string_dict[‘type‘] = 1
 7     query_string_dict[‘page‘] = 1
 8     query_string_dict[‘ie‘] = ‘utf8‘
 9     query_string_dict[‘query‘] = wechat_name
10
11     return ‘http://weixin.sogou.com/weixin?{}‘.format(urlencode(query_string_dict))

  • Requests: HTTP for Humans

Requests是python一个http库, 通过它可以发送http请求

Session(会话对象)高级用法:会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie。所以如果你向同一主机发送多个请求,底层的 TCP 连接将会被重用,从而带来显著的性能提升。

当你需要在浏览器中进行登陆操作或者需要在一段会话中操作时,使用Session.

import requests
def get_response_content(url):
    s = requests.session()
    r = s.get(url) // Sends a GET request. Returns Response object.
    return r.text //Content of the response, in unicode.

/*
The Response object, which contains a server‘s response to an HTTP request.
*/

参考文档:http://docs.python-requests.org/zh_CN/latest/api.html#sessionapi

原文地址:https://www.cnblogs.com/duwenlu/p/8476893.html

时间: 2024-10-07 02:03:54

python爬微信公众号前10篇历史文章(2)的相关文章

python爬微信公众号前10篇历史文章(1)

作为程序员,要时刻保持一颗好奇心和想要学习的姿态. 练习怎样利用搜狗微信爬取某指定微信公众号的历史文章.爬取微信公众号本身难度非常大,感谢搜狗提供了一个可以爬取数据的平台. 代码部分参考于: https://github.com/Chyroc/WechatSogou/tree/master/wechatsogou 目标: 1. 从http://weixin.sogou.com/搜狗微信搜索中获取指定公众号名称的搜索页面 2. 抓取指定公众号的历史文章列表 待解决难题: 如何从输入验证码页面自动跳

python爬微信公众号前10篇历史文章(3)-lxml&xpath初探

理解lxml以及xpath 什么是lxml? python中用来处理XML和HTML的library.与其他相比,它能提供很好的性能, 并且它支持XPath. 具体可以查看官方文档->http://lxml.de/index.html 结构化数据: XML, JSON 非结构化数据: HTML文本是最常见的数据格式,因为一般我们需要的关键信息并非直接可以得到,需要进行对HTML的解析查找,甚至一些字符串操作才能得到,所以归类于非结构化的数据处理中. 常见解析方式如下: XPath.CSS选择器.

python爬微信公众号前10篇历史文章(5)-JSON相关内容小结

json - JSON encoder and decoder JSON: JavaScript object notation,是一种轻量级的数据交换格式.JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串. JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台.JSON 解析器和 JSON 库支持许多不同的编程语言. JSON语法规则: 对象表示为键值对 数据由逗号分割 花括号保存对象 方括号保存数组 JS

用python进行微信公众号开发(仅测试学习)

今天看到篇教程,是用python开发微信公众号的,觉得有意思,就敲代码实现了一下,成功后更觉得好玩,故记录,方便开发深入时使用. 基础背景介绍: 首先得有个人微信号(没有自行注册),为方便测试学习: 其次,还要注册微信公众号,微信公众号不止一种,是分多种的,具体详情见官方说明,但仅测试学习时可先不注册公众号,(需要用个人微信号扫描登陆测试公众平台)利用微信提供的测试平台接口即可: 微信公众号说明:http://kf.qq.com/faq/120911VrYVrA130805byM32u.html

python编写微信公众号首图思路详解

前言 之前一直在美图秀秀调整自己的微信公众号首图,效果也不尽如人意,老是调来调去,最后发出来的图片被裁剪了一大部分,丢失部分关键信息,十分恼火,于是想着用python写一个程序,把微信公众号首图的模式固定下来,方便以后写公众号. 思路 根据微信公众号首图要求,可以上传一个不超过5M的图片,且图片尺寸要是2.35:1的尺寸,换算成像素是900:383,有了这些参数就可以做文章了,这里有两种思路 把今天推文的标题(文字)用图片展示出来,使得文字排列错落有致,简单粗暴,而又不失美感,这里可以利用mat

nodejs 中koa框架下的微信公众号开发初始篇

最近在搞微信公众号开发,后端采用的是nodejs下的koa框架,初识后端的菜鸟,自己搞难度太大了,网上找了很多文章,采用的中间件大都是express框架下的,不过好在爬了许多坑之后总算看见点曙光了,遂把探索出来的一点东西拿出来分享,毕竟能力有限,拿出来也是希望大神看到了给点建议, 主要用 koa-wechat 处理验证和消息解析 ,用wechat-api来进行按钮组等api操作,刚开始没什么内容,大家随意看看就好, 废话不多说,直接上代码(这是一个route的代码): var koa = req

[python]通过微信公众号“Python程序员”,编写python代码

今天发现微信公众号中,居然可以编写python代码,很是惊喜,觉得蛮有趣的. 步骤如下: 1.关注微信公众号“Python程序员” 2.关注成功后,点击右下角的“潘多拉”->"Python终端“->"阅读原文”. 3.Python开发页面被打开,在下面的输入框内,输入python代码,点击确认即可. 可以用来练习python,是不是很有趣呢?

当你想用python往微信公众号发信息...

微信现在是人人必备的APP,所以它是一个比电子邮箱更加随身的告警手段,这篇文章就是讲解如何申请微信企业号,搭配python脚本来发送信息.让你能更加先进的实时监(装)控(逼). 首先,我们先登陆https://work.weixin.qq.com/ ,选择"企业注册",如图: 然后在下一个图片里面任意选择"企业"or"政府"or"组织",由于这个报警平台比较简陋,并不是很规范而且仅仅是内部人使用,那么就直接选择"没有

微信公众号文章抓去

微信公众号存在不少精彩的文章,如果善于挖掘,可以得到不少的收获.但由于微信对PC端的支持并不友好,虽然有搜狗搜索可以用,但其结果仍然不全,一些公众号发的不是文章类型的只是一段话,搜狗就不收录.想要得到一个账号所有的文章,还是要从爬虫着手.网上对于微信公众号文章爬取的方法几乎没有介绍,不过有几个网站,比如传送门就做出来了.这就告诉我们这个目标是可以达到的.废话不多说,直入主题. 要想得到一个公众号发送的所有文章,需要从微信手机端入手.点击公众号右上角小人图标,会有查看历史消息的链接.点了之后可查看