本项目采用的是https://github.com/Yixiaohan/show-me-the-code中所提供的练习项目,所有代码均为原创,转载请注明,谢谢。
第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-)
其代码如下
"""
Created on Tue Feb 7 15:32:39 2017@author: sky
"""
import urllib
import re
import os
url = "http://tieba.baidu.com/p/2166231880"
def catch_pic(url,name):
content = urllib.request.urlopen(url).read()
reg = '<img pic_type="0" class="BDE_Image" src="(.*?)"'
r = re.compile(reg)
picture_list = r.findall(content.decode('utf-8'))
os.mkdir(name)
os.chdir(os.path.join(os.getcwd(),name))
for i in range(len(picture_list)):
picture_name = str(i) + '.jpg'
try:
urllib.request.urlretrieve(picture_list[i],picture_name)
print("success to download" + picture_list[i])
except:
print("fail to download" + picture_list[i])
if __name__ == '__main__':
picture_list = catch_pic(url,'c')
详细代码和结果,可以参考https://github.com/g8015108/exercise-for-python
通过修改reg的正则项可以提取不同的网页图片