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

打印 上一主题 下一主题

主题 889|帖子 889|积分 2667

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

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

 
 
事前准备


 
 
我们需要用到 Fiddler Everywhere 这个软件,Crack是本次要使用到的文件,以及要安装微信PC版客户端,我专门录了一个安装 及使用的教程。
本次使用的是Python3.8 以及 pycharm2021,这是目前比较稳定的版本。
模块方面需要安装一个requests 模块,它是第三方模块,需要手动安装,win+R 打开运行框输入cmd 按回车打开命令提示符窗口,输入pip install requests 按回车即可安装。
效果展示

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

 
 
主要代码
  1. # 软件和安装教程、代码在这个群 279199867 自取哈
  2. headers = {
  3.     'Host': 'mp.weixin.qq.com',
  4.     '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)',
  5.     'Cookie': 'wxuin=2408215323; lang=zh_CN; pass_ticket=TsrY5cXMvTN01ghVFxFxT9k4jdPONJBt8mdl0ta20qxjUHNsnkkWLjib4gXCXSQM; devicetype=android-29; version=2800153f; wap_sid2=CJvmqfwIEooBeV9IQVVCUVAzdVBlWEo5NTlySFpON1Ffek5zTE9qRi1jdWZjVFMyOFYyM0FyVE9RSTRNZ3VuUXFTcU94Q3lKY1VyQlJ2RkEtTWFyRWFLeHhJUTRrWmp0N0VDZ05zOFV4d0kzZ1p5cXBIbTVBbEZGRWJteEt4Q0oxSjY4ZHFhODlaZnMyY1NBQUF+MOXS6ZIGOA1AlU4=',
  6. }
  7. # ::text
  8. for page in range(0, 3):
  9.     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'
  10.     json_data = requests.get(url=url, headers=headers).json()
  11.     general_msg_list = json_data['general_msg_list']
  12.     general_msg_list = json.loads(general_msg_list)['list']
  13.     # print(general_msg_list)
  14.     title_list = []
  15.     content_url_list = []
  16.     for general_msg in general_msg_list:
  17.         title = general_msg['app_msg_ext_info']['title']
  18.         content_url = general_msg['app_msg_ext_info']['content_url']
  19.         multi_app_msg_item_list = general_msg['app_msg_ext_info']['multi_app_msg_item_list']
  20.         title_list.append(title)
  21.         content_url_list.append(content_url)
  22.         for multi_app_msg_item in multi_app_msg_item_list:
  23.             title_list.append(multi_app_msg_item['title'])
  24.             content_url_list.append(multi_app_msg_item['content_url'])
  25.     # print(title_list)
  26.     # print(content_url_list)
  27.     zip_data = zip(title_list, content_url_list)
  28.     for detail_title, detail_url in zip_data:
  29.         if not os.path.exists('img/' + detail_title):
  30.             os.mkdir('img/' + detail_title)
  31.         # 1. 发送请求
  32.         response = requests.get(url=detail_url, headers=headers)
  33.         # 2. 获取数据
  34.         html_data = response.text
  35.         # 3. 解析数据
  36.         # 正则匹配数据 第一个参数 需要匹配的规则
  37.         # 第一个参数 在哪个字符串里面匹配
  38.         img_list = re.findall('data-src="(https://mmbiz\.qpic\.cn/.*?)"', html_data)
  39.         print(detail_title)
复制代码
 
我也录制了对应的视频讲解:Python采集公众号文章
最后推荐一套Python教程:Python实战100例

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

没腿的鸟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表