前面已经写了如何获取网页源码,那么接下来就是该解析网页并提取需要的数据了。这里简单写一下正则表达的用法。
首先,找个要抓取图片的网站,获取源码。
import requests import re # 获取网页源码 url = 'http://www.ivsky.com/tupian/xiaohuangren_t21343/' data = requests.get(url).text
小黄人的图。。。接下来浏览器检查元素,发现图片源码格式,前面均为<img ,结尾均为 .jpg 而我们要提取的就是网址部分。
正则表达式如下:
#正则表达式三部曲 #<img src="http://img.ivsky.com/img/tupian/t/201411/01/xiaohuangren-009.jpg" width="135" height="135" alt="卑鄙的我小黄人图片"> regex = r'<img src="(.*?.jpg)"'#匹配网址 pa = re.compile(regex)#转为pattern对象 ma = re.findall(pa, data)#findall 方法找到所有的符合pa的对象,添加到一个列表中并返回 print(ma)#图片网址列表 print(len(ma))#列表长度,即找到图片个数
#截取部分列表输出
#['http://img.ivsky.com/img/tupian/t/201411/01/xiaohuangren_tupian-007.jpg', 'http://img.ivsky.com/img/tupian/t/201411/01/xiaohuangren-009.jpg', 'http://img.ivsky.com/...
#25
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3爬虫初探(三)之正则表达式 - Python技术站