python 爬取微信文章


Posted in Python onJanuary 30, 2016

本人想搞个采集微信文章的网站,无奈实在从微信本生无法找到入口链接,网上翻看了大量的资料,发现大家的做法总体来说大同小异,都是以搜狗为入口。下文是笔者整理的一份python爬取微信文章的代码,有兴趣的欢迎阅读

#coding:utf-8
author = 'haoning'
**#!/usr/bin/env python
import time
import datetime
import requests**
import json
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
import re
import xml.etree.ElementTree as ET
import os
#OPENID = 'oIWsFtyel13ZMva1qltQ3pfejlwU'
OPENID = 'oIWsFtw_-W2DaHwRz1oGWzL-wF9M&ext'
XML_LIST = []
# get current time in milliseconds
current_milli_time = lambda: int(round(time.time() * 1000))
def get_json(pageIndex):

global OPENID
the_headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36',
'Referer': 'http://weixin.sogou.com/gzh?openid={0}'.format(OPENID),
'Host': 'weixin.sogou.com'
}

url = 'http://weixin.sogou.com/gzhjs?cb=sogou.weixin.gzhcb&openid={0}&page={1}&t={2}'.format(OPENID, pageIndex, current_milli_time()) #url
print(url)

response = requests.get(url, headers = the_headers)
# TO-DO; check if match the reg
response_text = response.text
print response_text
json_start = response_text.index('sogou.weixin.gzhcb(') + 19
json_end = response_text.index(')') - 2
json_str = response_text[json_start : json_end] #get json
#print(json_str)
# convert json_str to json object
json_obj = json.loads(json_str) #get json obj
# print json_obj['totalPages']
return json_obj
def add_xml(jsonObj):

global XML_LIST
xmls = jsonObj['items'] #get item
#print type(xmls)
XML_LIST.extend(xmls) #用新列表扩展原来的列表
**[#www.oksousou.com][2]**
# ------------ Main ----------------
print 'play it :) '
# get total pages
default_json_obj = get_json(1)
total_pages = 0
total_items = 0
if(default_json_obj):

# add the default xmls
add_xml(default_json_obj)
# get the rest items
total_pages = default_json_obj['totalPages']
total_items = default_json_obj['totalItems']
print total_pages
# iterate all pages
if(total_pages >= 2):
  for pageIndex in range(2, total_pages + 1):
    add_xml(get_json(pageIndex)) #extend
    print 'load page ' + str(pageIndex)
    print len(XML_LIST)
Python 相关文章推荐
Python正规则表达式学习指南
Aug 02 Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
Jul 09 Python
PyCharm代码提示忽略大小写设置方法
Oct 28 Python
使用PM2+nginx部署python项目的方法示例
Nov 07 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
Dec 29 Python
python pandas生成时间列表
Jun 29 Python
Python属性和内建属性实例解析
Jan 14 Python
python实现AHP算法的方法实例(层次分析法)
Sep 09 Python
python利用线程实现多任务
Sep 18 Python
使用OpenCV校准鱼眼镜头的方法
Nov 26 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
Mar 02 Python
python生成验证码图片代码分享
Jan 28 #Python
详解Python网络爬虫功能的基本写法
Jan 28 #Python
Python3实现Web网页图片下载
Jan 28 #Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 #Python
Python每天必学之bytes字节
Jan 28 #Python
Python装饰器入门学习教程(九步学习)
Jan 28 #Python
基于Python如何使用AIML搭建聊天机器人
Jan 27 #Python
You might like
星际争霸任务指南——神族
2020/03/04 星际争霸
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
2011/12/29 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
2016/09/21 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
PDO::_construct讲解
2019/01/27 PHP
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
jQuery中unbind()方法用法实例
2015/01/19 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
JS自动生成动态HTML验证码页面
2017/06/14 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
集合Bootstrap自定义confirm提示效果
2017/09/19 Javascript
vue页面加载闪烁问题的解决方法
2018/03/28 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
python 实现selenium断言和验证的方法
2019/02/13 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
python2使用bs4爬取腾讯社招过程解析
2019/08/14 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
python中的对数log函数表示及用法
2020/12/09 Python
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
本科毕业生求职自荐信
2014/04/09 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
实施意见格式范本
2015/06/05 职场文书
2016公司新年问候语
2015/11/11 职场文书