美文网首页
python:微信也不过如此嘛,这不公众号信息被我采集下来啦~

python:微信也不过如此嘛,这不公众号信息被我采集下来啦~

作者: 颜狗一只 | 来源:发表于2022-04-18 16:08 被阅读0次

    前言

    嗨喽!大家好呀,这里是魔王~**

    知识点:

    • 基本流程
    • fiddler抓包

    开发环境:

    • python 3.8 运行代码
    • pycharm 2021.2 辅助敲代码
    • requests 第三方模块

    如果安装python第三方模块:

    1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
    2. 在pycharm中点击Terminal(终端) 输入安装命令

    如何配置pycharm里面的python解释器?

    1. 选择file(文件) >>> setting(设置) >>> Project(项目) >>> python interpreter(python解释器)
    2. 点击齿轮, 选择add
    3. 添加python安装路径

    pycharm如何安装插件?

    1. 选择file(文件) >>> setting(设置) >>> Plugins(插件)
    2. 点击 Marketplace 输入想要安装的插件名字 比如:翻译插件 输入 translation / 汉化插件 输入 Chinese
    3. 选择相应的插件点击 install(安装) 即可
    4. 安装成功之后 是会弹出 重启pycharm的选项 点击确定, 重启即可生效

    解答、资料、源码点击领取~

    代码

    import requests
    import re
    import json
    import os
    
    
    headers = {
        'Host': 'mp.weixin.qq.com',
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x63060012)',
        'Cookie': 'wxuin=2408215323; lang=zh_CN; pass_ticket=TsrY5cXMvTN01ghVFxFxT9k4jdPONJBt8mdl0ta20qxjUHNsnkkWLjib4gXCXSQM; devicetype=android-29; version=2800153f; wap_sid2=CJvmqfwIEooBeV9IQVVCUVAzdVBlWEo5NTlySFpON1Ffek5zTE9qRi1jdWZjVFMyOFYyM0FyVE9RSTRNZ3VuUXFTcU94Q3lKY1VyQlJ2RkEtTWFyRWFLeHhJUTRrWmp0N0VDZ05zOFV4d0kzZ1p5cXBIbTVBbEZGRWJteEt4Q0oxSjY4ZHFhODlaZnMyY1NBQUF+MOXS6ZIGOA1AlU4=',
    }
    for page in range(0, 3):
        url = f'https://mp.weixin.qq.com/mp/profile_ext?action=getmsg&__biz=MzU0MzU4OTY2NQ==&f=json&offset={page * 10}&count=10&is_ok=1&scene=&uin=777&key=777&pass_ticket=&wxtoken=&appmsg_token=1161_7%252BO7mVaQbImKSRrYWqKBnNggweX4WNZaqjadeg~~&x5=0&f=json'
        json_data = requests.get(url=url, headers=headers).json()
        general_msg_list = json_data['general_msg_list']
        general_msg_list = json.loads(general_msg_list)['list']
        # print(general_msg_list)
        title_list = []
        content_url_list = []
        for general_msg in general_msg_list:
            title = general_msg['app_msg_ext_info']['title']
            content_url = general_msg['app_msg_ext_info']['content_url']
            multi_app_msg_item_list = general_msg['app_msg_ext_info']['multi_app_msg_item_list']
            title_list.append(title)
            content_url_list.append(content_url)
            for multi_app_msg_item in multi_app_msg_item_list:
                title_list.append(multi_app_msg_item['title'])
                content_url_list.append(multi_app_msg_item['content_url'])
        # print(title_list)
        # print(content_url_list)
        zip_data = zip(title_list, content_url_list)
        for detail_title, detail_url in zip_data:
            if not os.path.exists('img/' + detail_title):
                os.mkdir('img/' + detail_title)
            # 1. 发送请求
            response = requests.get(url=detail_url, headers=headers)
            # 2. 获取数据
            html_data = response.text
            # 3. 解析数据
            # 正则匹配数据 第一个参数 需要匹配的规则
            # 第一个参数 在哪个字符串里面匹配
            img_list = re.findall('data-src="(https://mmbiz\.qpic\.cn/.*?)"', html_data)
            print(detail_title)
            # print(img_list)
            for img in img_list:
                if not 'gif' in img:
                    img_data = requests.get(img).content
                    img_name = img.split('/')[-2]
                    print(img_name)
                    with open(f'img/{detail_title}/{img_name}.jpeg', mode='wb') as f:
                        f.write(img_data)
    

    视频教程

    https://www.bilibili.com/video/BV1FS4y1e7U6?share_source=copy_web
    (title-python:也不过如此嘛,这不公众号信息被我爬下来啦~)]

    尾语

    好了,我的这篇文章写到这里就结束啦!

    有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง

    喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

    相关文章

      网友评论

          本文标题:python:微信也不过如此嘛,这不公众号信息被我采集下来啦~

          本文链接:https://www.haomeiwen.com/subject/jwpdertx.html