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从ftp下载数据保存实例
Nov 20 Python
Linux下使用python调用top命令获得CPU利用率
Mar 10 Python
flask + pymysql操作Mysql数据库的实例
Nov 13 Python
pandas.DataFrame.to_json按行转json的方法
Jun 05 Python
Django 视图层(view)的使用
Nov 09 Python
pytorch实现mnist分类的示例讲解
Jan 10 Python
详解Python实现进度条的4种方式
Jan 15 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
python时间与Unix时间戳相互转换方法详解
Feb 13 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
Mar 06 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
Mar 26 Python
python保存大型 .mat 数据文件报错超出 IO 限制的操作
May 10 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
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
2013/07/03 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
jQuery中clearQueue()方法用法实例
2014/12/29 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
jQuery插件版本冲突的处理方法分析
2017/01/16 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
swiper动态改变滑动内容的实现方法
2018/01/17 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
2019/05/12 jQuery
vue element 中的table动态渲染实现(动态表头)
2019/11/21 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
pandas计算最大连续间隔的方法
2019/07/04 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
物业招聘计划书
2014/01/10 职场文书
一年级班主任感言
2014/03/08 职场文书
活动总结报告格式
2014/05/09 职场文书
商品陈列协议书
2014/09/29 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书
检讨书模板
2015/01/29 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书
优秀新员工事迹材料
2019/05/13 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL
Redis+Lua脚本实现计数器接口防刷功能(升级版)
2022/02/12 Redis