使用BeautifulSoup自动爬取微信公众号图片
爬取微信分享的图片,根据不同的页面自行修改,使用BeautifulSoup爬取,自行格局HTML修改要爬取图片的位置
import re
import time import requests
import os
from bs4 import BeautifulSoup
import urllib imglist=[]#存放图片链接
title=''#每日标题 html=input("输入需要获取照片的公众号文章链接:")
myhtml = "https://mp.weixin.qq.com/s/kPpWCi1pEXRqjrpVLiclFw"#测试
resp=requests.get(html)#建立链接
content=resp.text#html源代码
bs=BeautifulSoup(content,'html.parser')#解析得到dom树 #获取文章标题,每个文章标题基本上放在h2标签中
title=bs.select('h2')[0].text
title=re.findall('[\u4e00-\u9fa5a-zA-Z0-9]+',title,re.S) #只要字符串中的中文,字母,数字,防止出现文件命名不允许的符号
title="".join(title) #获取图片
allsection = bs.find_all('section', attrs={'data-style-id': '25310'})#根据图片所在的dom结点找到所有,自行修改
for index,item in enumerate(allsection):#遍历找到的
img=item.find('img')#每张图片都是放在img整个标签里面
img=img['data-src']#通过data-src这一个属性来进行进一步筛选
imglist.append(img)#添加到列表 # 将图片保存到E:\\文章名文件夹中,如果没有文章名文件夹则创建,自行修改
x = 0
path = 'E:\\myphoto\\'+title
if not os.path.isdir(path):
os.makedirs(path)
paths = path+'\\' #保存在文章名文件的路径下
for imgurl in imglist:
urllib.request.urlretrieve(imgurl,'{0}{1}.jpg'.format(paths,x)) #打开imglist中保存的图片网址,并下载图片保存在本地,format格式化字符串
x = x + 1
time.sleep(3)#防止请求过多过快导致连接中断
print(x)
print(title+'照片获取成功,文件夹已创建!')
使用BeautifulSoup自动爬取微信公众号图片的更多相关文章
- python爬取微信公众号
爬取策略 1.需要安装python selenium模块包,通过selenium中的webdriver驱动浏览器获取Cookie的方法.来达到登录的效果 pip3 install selenium c ...
- 使用Python爬取微信公众号文章并保存为PDF文件(解决图片不显示的问题)
前言 第一次写博客,主要内容是爬取微信公众号的文章,将文章以PDF格式保存在本地. 爬取微信公众号文章(使用wechatsogou) 1.安装 pip install wechatsogou --up ...
- Python爬取微信公众号素材库
这是我的之前写的代码,今天发布到博客园上,说不定以后需要用. 开始: #coding:utf-8 import werobot import pymongo class Gongzhonghao( ...
- python通过手机抓取微信公众号
使用 Fiddler 抓包分析公众号 打开微信随便选择一个公众号,查看公众号的所有历史文章列表 在 Fiddler 上已经能看到有请求进来了,说明公众号的文章走的都是HTTPS协议,这些请求就是微信客 ...
- python+BeautifulSoup+多进程爬取糗事百科图片
用到的库: import requests import os from bs4 import BeautifulSoup import time from multiprocessing impor ...
- 微信公众号批量爬取java版
最近需要爬取微信公众号的文章信息.在网上找了找发现微信公众号爬取的难点在于公众号文章链接在pc端是打不开的,要用微信的自带浏览器(拿到微信客户端补充的参数,才可以在其它平台打开),这就给爬虫程序造成很 ...
- python爬微信公众号前10篇历史文章(1)-思路概览
作为程序员,要时刻保持一颗好奇心和想要学习的姿态. 练习怎样利用搜狗微信爬取某指定微信公众号的历史文章.爬取微信公众号本身难度非常大,感谢搜狗提供了一个可以爬取数据的平台. 代码部分参考于: http ...
- CabloyJS的微信API对接模块:当前支持微信公众号和微信小程序
Cabloy-微信是什么 Cabloy-微信是基于CabloyJS全栈业务开发框架开发的微信接口模块,当前整合了微信公众号和微信小程序的接口,达到开箱即用的使用效果.在Cabloy-微信的基础上,可以 ...
- 第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解
第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解 封装模块 #!/usr/bin/env python # -*- coding: utf- ...
随机推荐
- zk客户端及锁的使用
1.生成zk客户端对象 private CuratorFramework buildClient() { logger.info("zookeeper registry center ini ...
- CPU消耗,跟踪定位理论与实践
CPU消耗,跟踪定位理论与实践 一.性能指标之资源指标定位方案 1.打tprof报告方法 抓取perfpmr文件 60秒. perfpmr.sh 60 从结果文件中取出tprof.sum 或直接抓取t ...
- Nucleus-SE迁移:未实现的设施和兼容性
Nucleus-SE迁移:未实现的设施和兼容性 Nucleus SE migration: Unimplemented facilities and compatibility Nucleus SE的 ...
- 深入理解java虚拟机笔记Chapter2
java虚拟机运行时数据区 首先获取一个直观的认识: 程序计数器 线程私有.各条线程之间计数器互不影响,独立存储. 当前线程所执行的字节码行号指示器.字节码解释器工作时通过改变这个计数器值选取下一条需 ...
- 关于MySQL索引面试题的六连炮!招架的住吗?
1.面试真题 MySQ索引的原理和数据结构能介绍一下吗? b+树和b-树有什么区别? MySQL聚簇索引和非聚簇索引的区别是什么? 他们分别是如何存储的? 使用MySQL索引都有哪些原则? MySQL ...
- 「10.13」毛一琛(meet in the middle)·毛二琛(DP)·毛三琛(二分+随机化???)
A. 毛一琛 考虑到直接枚举的话时间复杂度很高,我们运用$meet\ in\ the\ middle$的思想 一般这种思想看似主要用在搜索这类算法中 发现直接枚举时间复杂度过高考虑枚举一半另一半通过其 ...
- 『心善渊』Selenium3.0基础 — 2、Selenium测试框架环境搭建(Windows)
目录 1.浏览器安装 2.浏览器驱动下载 (1)ChromeDriver for Chrome (2)Geckodriver for Firefox (3)IEDriverServer for IE ...
- [Docker核心之容器、数据库文件的导入导出、容器镜像的导入导出]
[Docker核心之容器.数据库文件的导入导出] 使用 Docker 容器 在 Docker 中,真正对外提供服务的还是容器,容器是对外提供服务的实例,容器的本质是进程. 运行一个容器 docker ...
- Go语言深度比较值是否相等
Go语言深度比较值是否相等 需求描述: 我们在开发过程中经常会遇到一些需要比较值是否相等的场景,例如比较两个数组.结构体.Map.等,自己写这些代码比较繁琐,大部分时候这里都可以使用到反射reflec ...
- Nacos配置中心交互模型是 push 还是 pull ?你应该这么回答
本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富- 对于Nacos大家应该都不太陌生,出身阿里名声在外,能做动态服 ...