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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oh5W6HinUg43JvRhhB/article/details/78485477

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

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

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

640?wx_fmt=png&wxfrom=5&wx_lazy=1

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

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颗瓜子的时间(注意,是用手扒开瓜子,不考虑用牙秒嗑十颗瓜子的老司机),当前文件夹中得到如下图片:

0?wx_fmt=png


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

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


展开阅读全文

没有更多推荐了,返回首页