社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python批量爬取微信公众号文章中的图片

Python小屋 • 6 年前 • 742 次点击  

总体说明:微信公众号的文章也是个普通的网页。

下面的代码以微信公众号“Python小屋”的文章1900页Python系列PPT分享三:选择与循环结构语法及案例(96页) 为例,爬取其中的图片并保存为本地图片文件,主要演示urllib标准库和正则表达式用法。

按照惯例,首先分析网页结构,该文url地址为https://mp.weixin.qq.com/s?__biz=MzI4MzM2MDgyMQ==&tempkey=OTMwX1pNbk5ETmVxTkkwdXpGaWo1RC1GZThwaHlzeHRRb2dfcjRFZmpFc2cyVDhBME82dl82dHVWdks5UDc2SFZtWTN3M2VQQ1BFalRpblpfZUFrdHpEbzBpUDR5OXZRS3N0VzE2WXp4Ym5iNWZmLXVMeDFBeThfZFpKa3VxNHpIT21hNnBTc244THRCQm1leTVSendVRk5zSnNIWldFaHUxRzRJaFU3OGd%2Bfg%3D%3D&chksm=6b8aad835cfd249522b213148affa25de442377adfb83afec75e3321fc6059ff26d2ddd11e04#rd,使用浏览器打开,然后查看源码,找到关键位置,如图所示:

接下来分析网页结构,并设计提取规则为

pattern = 'data-type="png" data-src="(.+?)"'

最后编写爬虫代码如下:

from re import findall
from urllib.request import urlopen


url = 'https://mp.weixin.qq.com/s?__biz=MzI4MzM2MDgyMQ==&tempkey=OTMwX1pNbk5ETmVxTkkwdXpGaWo1RC1GZThwaHlzeHRRb2dfcjRFZmpFc2cyVDhBME82dl82dHVWdks5UDc2SFZtWTN3M2VQQ1BFalRpblpfZUFrdHpEbzBpUDR5OXZRS3N0VzE2WXp4Ym5iNWZmLXVMeDFBeThfZFpKa3VxNHpIT21hNnBTc244THRCQm1leTVSendVRk5zSnNIWldFaHUxRzRJaFU3OGd%2Bfg%3D%3D&chksm=6b8aad835cfd249522b213148affa25de442377adfb83afec75e3321fc6059ff26d2ddd11e04#rd'
with urlopen(url) as fp:
    content = fp.read().decode()


pattern = 'data-type="png" data-src="(.+?)"'
result = findall(pattern, content)
for index, item in enumerate(result):
    with urlopen(str(item)) as fp:
        with open(str(index)+'.png', 'wb') as fp1:
            fp1.write(fp.read())
           

最后,运行上面的代码,稍等吃5颗瓜子的时间(注意,是用手扒开瓜子,不考虑用牙秒嗑十颗瓜子的老司机),当前文件夹中得到如下图片:


----------相关阅读----------

Python裸奔也疯狂:批量爬取中国工程院院士信息

Python爬虫扩展库scrapy选择器用法入门(一)

Python使用Scrapy爬虫框架爬取天涯社区小说“大宗师”全文

Python不使用scrapy框架而编写的网页爬虫程序

Python爬虫扩展库BeautifulSoup4用法精要


1900页Python系列PPT分享一:基础知识(106页)

1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)

1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)


祝所有程序员1024节日快乐

学会提问,你就成功了一大半!

盘点那些让人上火的提问方式(论如何让交流更高效)



----------喜大普奔----------

1、继《Python程序设计基础》(2017年9月第5次印刷)、《Python程序设计(第2版)》(2017年9月第4次印刷)、《Python可以这样学》(2017年7月第3次印刷)系列图书之后,董付国老师新书《Python程序设计开发宝典》(2017年10月第2次印刷)。为庆祝新书《Python程序设计开发宝典》全面上架,清华大学出版社联合“赣江图书专营”淘宝店推出特价优惠活动,《Python程序设计开发宝典》原价69元,新书上架期间超低价39.8元,可以复制下面的链接使用浏览器打开查看图书详情和购买:

https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-14464369246.84.46f16db0roWfX4&id=557107249812&rn=339cbc9df2bac424664103917dedfbd2&abbucket=8&tbpm=3


2、董付国老师新作《中学生可以这样学Python》已于2017年10月正式出版,很快会在各大书城全面上架。


3、董付国老师6本Python系列图书阅读指南


4、董老师免费视频地址: http://pan.baidu.com/s/1c14WYn2 密码: 9xwr


5、董老师收费视频课:

CSDN学院(2017年11月6日-17日,8折):http://edu.csdn.net/search?keywords=%E8%91%A3%E4%BB%98%E5%9B%BD&type=0


龙果学院:http://www.roncoo.com/course/list.html?courseName=Python%E5%8F%AF%E4%BB%A5%E8%BF%99%E6%A0%B7%E5%AD%A6



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/Mv1jDB12H6
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/4075
 
742 次点击