首页 > 编程语言 >为了防止这个公众号被封,我连夜用Python爬取了它所有图片~

为了防止这个公众号被封,我连夜用Python爬取了它所有图片~

时间:2022-09-06 14:55:39浏览次数:106  
标签:content 连夜 title Python list general 爬取 url msg

哈喽兄弟们,今天来试试批量获取公众号文章,emmm…

 

 

虽然名义上是文章,单其实它是一篇纯图片文,至于为什么不是文字,小姐姐不比文字香?

 

 

事前准备

 

 

我们需要用到 Fiddler Everywhere 这个软件,Crack是本次要使用到的文件,以及要安装微信PC版客户端,我专门录了一个安装 及使用的教程。

本次使用的是Python3.8 以及 pycharm2021,这是目前比较稳定的版本。

模块方面需要安装一个requests 模块,它是第三方模块,需要手动安装,win+R 打开运行框输入cmd 按回车打开命令提示符窗口,输入pip install requests 按回车即可安装。

效果展示

太过份的我就不展示了,影响不好,我们是技术爱好者,不是那啥爱好者~

 

 

主要代码

# 软件和安装教程、代码在这个群 279199867 自取哈
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=',
}
# ::text
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) 

 

我也录制了对应的视频讲解:Python采集公众号文章

最后推荐一套Python教程:Python实战100例

标签:content,连夜,title,Python,list,general,爬取,url,msg
From: https://www.cnblogs.com/hahaa/p/16661790.html

相关文章

  • python requests.post() 请求中 json 和 data 的区别
    requests.post()请求中json和data的区别post请求中,可以使用data传递参数,也可以使用json传递参数。那么,两种方式有什么区别?1.如果参数为JSON数据,可以直接传入json参......
  • python基础语法
    Python标识符在Python里,标识符由字母、数字、下划线组成。在Python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。Python中的标识符是区分大小写......
  • python项目结束后权限管理配置
    一、创建rbac的apppythonmanage.pystartapprbac注入;settings.py的INSTALLED_APPS中二、创建rbac表,在rbac的models.py中添加fromdjango.dbimportmodels#权限......
  • Python 中的 sorted 和 sort的区别
    Python中的sorted和sort的区别#sort与sorted区别:#sorted()是内置函数.sorted可以对所有可迭代的对象进行排序操作,有返回值,返回列表;#sort是list上的方法,是对......
  • 【python】sort 排序
    sort排序fromoperatorimportitemgettera=[ {'name':'小张','create_time':'2020-10-1609:56'}, {'name':'小王','create_time':'2020-10-1609:57'}, {'name'......
  • 晓晓---python文件的读写模式的理解
    1.python读取文件模式的自我理解:'r'openforreading(default)----只读模式打开文件,不能写;'w'openforwriting,truncatingthefilefirst----只写模式......
  • Python-注解-类型注解
    类型注解的作用Python是动态语言,其显著特点是在声明变量时,你不需要显式声明它的类型。程序运行时会推断出变量age是int类型但是:如果你代码某些变量的类型有错,编辑器......
  • 复习python基础
    ......
  • python中的map函数
    python中的map函数1map()函数的简介以及语法:map是python内置函数,会根据提供的函数对指定的序列做映射。map()函数的格式是:map(function,iterable,...)第一个参数接受一......
  • 用于数据库/消息队列的 Python 传输
    用于数据库/消息队列的Python传输很多时候,在对项目进行编码时,我们希望数据库或其他组件的代码与代码库的其余部分分开。传输帮助我们隔离组件的整个代码,以便当我们需要......