总体说明:微信公众号的文章也是个普通的网页。
下面的代码以微信公众号“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