爬取微信文章

1.抓包

  打开微信网页版

  

    

    抓包:

    

    

    根据接口数据构造请求,便能获取公众号文章了!

2.构造请求,获取数据

  

import requests
import json
import time

def parse(__biz, uin, key, pass_ticket, appmsg_token="", offset="0"):
    """
    文章信息获取
    """
    url = ‘?txe_eliforp/pm/moc.qq.nixiew.pm//:sptth‘[::-1]
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.901.400 QQBrowser/9.0.2524.400",
    }
    params = {
        "action": "getmsg",
        "__biz": __biz,
        "f": "json",
        "offset": str(offset),
        "count": "10",
        "is_ok": "1",
        "scene": "124",
        "uin": uin,
        "key": key,
        "pass_ticket": pass_ticket,
        "wxtoken": "",
        "appmsg_token": appmsg_token,
        "x5": "0",
    }

    res = requests.get(url, headers=headers, params=params, timeout=3)
    data = json.loads(res.text)
    print(data)
    # 获取信息列表
    msg_list = eval(data.get("general_msg_list")).get("list", [])
    for i in msg_list:
        # 去除文字链接
        try:
            # 文章标题
            title = i["app_msg_ext_info"]["title"].replace(‘,‘, ‘,‘)
            # 文章摘要
            digest = i["app_msg_ext_info"]["digest"].replace(‘,‘, ‘,‘)
            # 文章链接
            url = i["app_msg_ext_info"]["content_url"].replace("\\", "").replace("http", "https")
            # 文章发布时间
            date = i["comm_msg_info"]["datetime"]
            print(title, digest, url, date)
            with open(‘article.csv‘, ‘a‘) as f:
                f.write(title + ‘,‘ + digest + ‘,‘ + url + ‘,‘ + str(date) + ‘\n‘)
        except:
            pass
    # 判断是否可继续翻页 1-可以翻页  0-到底了
    if 1 == data.get("can_msg_continue", 0):
        time.sleep(3)
        parse(__biz, uin, key, pass_ticket, appmsg_token, data["next_offset"])
    else:
        print("爬取完毕")

if __name__ == ‘__main__‘:
    # 请求参数
    __biz = input(‘biz: ‘)
    uin = input(‘uin: ‘)
    key = input(‘key: ‘)
    pass_ticket = input(‘passtick: ‘)
    # 解析函数
    parse(__biz, uin, key, pass_ticket, appmsg_token="", offset="0")

  数据:

  

原文地址:https://www.cnblogs.com/tjp40922/p/10805773.html

时间: 2025-01-18 05:57:19

爬取微信文章的相关文章

爬取微信文章代码

1 import re 2 import urllib.request 3 import time 4 import urllib.error 5 def use_proxy(proxy_addr,url): 6 try: 7 req=urllib.request.Request(url) 8 req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox

使用redis所维护的代理池抓取微信文章

搜狗搜索可以直接搜索微信文章,本次就是利用搜狗搜搜出微信文章,获得详细的文章url来得到文章的信息.并把我们感兴趣的内容存入到mongodb中. 因为搜狗搜索微信文章的反爬虫比较强,经常封IP,所以要在封了IP之后切换IP,这里用到github上的一个开源类,当运行这个类时,就会动态的在redis中维护一个ip池,并通过flask映射到网页中,可以通过访问 localhost:5000/get/ 来获取IP 这是搜狗微信搜索的页面, 构造搜索url .搜索时会传递的参数,通过firefox浏览器

如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py文件.我们需要获取的数据是朋友圈和发布日期,因此在这里定义好日期和动态两个属性,如下图所示. 2.修改实现爬虫逻辑的主文件moment.py,首先要导入模块,尤其是要主要将items.py中的WeixinMomentItem类导入进来,这点要特别小心别被遗漏了.之后修改start_requests方

Scrapy分布式爬虫打造搜索引擎- (二)伯乐在线爬取所有文章

二.伯乐在线爬取所有文章 1. 初始化文件目录 基础环境 python 3.6.5 JetBrains PyCharm 2018.1 mysql+navicat 为了便于日后的部署:我们开发使用了虚拟环境. 1234567891011 pip install virtualenvpip install virtualenvwrapper-win安装虚拟环境管理mkvirtualenv articlespider3创建虚拟环境workon articlespider3直接进入虚拟环境deactiv

微信PK10平台开发与用python爬取微信公众号文章

本文通过微信提供微信PK10平台开发[q-21528-76294] 网址diguaym.com 的公众号文章调用接口,实现爬取公众号文章的功能.注意事项 1.需要安装python selenium模块包,通过selenium中的webdriver驱动浏览器获取Cookie的方法.来达到登录的效果: 2.使用webdriver功能需要安装对应浏览器的驱动插件,我这里测试用的是谷歌浏览器: google chrome版本为52.0.2743.6 ; chromedriver版本为:V2.23 注意:

python 多线程方法爬取微信公众号文章

本文在上一篇基础上增加多线程处理(http://blog.51cto.com/superleedo/2124494  ) 执行思路: 1,规划好执行流程,建立两个执行线程,一个控制线程 2,线程1用于获取url,并写入urlqueue队列 3,线程2,通过线程1的url获取文章内容,并保存到本地文件中 4,线程3用于控制程序,保证1,2线程都执行完后退出 5,多线程退出程序,在子线程设置daemon为true,保证程序正常退出 6,添加异常处理,添加限时防止屏蔽 闲话不多说,上代码 #!/usr

我用 Python 爬取微信好友,最后发现一个大秘密

前言 你身处的环境是什么样,你就会成为什么样的人.现在人们日常生活基本上离不开微信,但微信不单单是一个即时通讯软件,微信更像是虚拟的现实世界.你所处的朋友圈是怎么样,慢慢你的思想也会变的怎么样.最近在学习 itchat,然后就写了一个爬虫,爬取了我所有的微信好友的数据.并对其中的一些数据进行分析,发现了一些很有趣的事. 然后通过 itchat.get_friends() 这个函数就可以获取到自己好友的相关信息,这些信息是一个 json 数据返回.然后我们就可以根据这些返回的信息,进行正则匹配抓取

[Python爬虫] 之十五:Selenium +phantomjs根据微信公众号抓取微信文章

借助搜索微信搜索引擎进行抓取 抓取过程 1.首先在搜狗的微信搜索页面测试一下,这样能够让我们的思路更加清晰 在搜索引擎上使用微信公众号英文名进行“搜公众号”操作(因为公众号英文名是公众号唯一的,而中文名可能会有重复,同时公众号名字一定要完全正确,不然可能搜到很多东西,这样我们可以减少数据的筛选工作, 只要找到这个唯一英文名对应的那条数据即可),即发送请求到'http://weixin.sogou.com/weixin?type=1&query=%s&ie=utf8&_sug_=n&

爬取微信公众号内容——绘制词云

写在前面的话 前段时间写了一篇通过搜狗引擎获取微信公众号的文章,最近又看了一个网易云歌词绘制词云的程序 然后我就想,能否把这两者结合起来呢 还好经历几多波折终于把这个东西给弄出来了. 其实中间的实现不是很难, 关键是环境搭建实在是太困难了 好了,先把代码以及效果图奉献上吧 代码 weixin_spider.py #!/usr/bin/python # coding: utf-8 #这三行代码是防止在python2上面编码错误的,在python3上面不要要这样设置 import sys reloa