python 爬取网络图片记录

import re,urllib.request
import random
import urllib.request
import bs4
from bs4 import BeautifulSoup
class SUrl:
    def SetUrl(self,ImageUrl):
        print("程序开始运行.....请稍等!!!")
        request = urllib.request.urlopen(ImageUrl)			#要爬取的网站
        buf = request.read().decode('utf-8')				#设置编码格式
        listurl = re.findall(r'data-original=.+\.jpg', buf)	#找到该网站内所有以(data-original开头并以jpg结尾的url)
        response = urllib.request.urlopen("http://www.imooc.com/course/list?page=1")	#要爬取的网站
        html = response.read().decode('UTF-8')				#设置编码格式
        Div = BeautifulSoup(html, 'html.parser')			
        GetText = Div.find_all('div', class_='course-card-content')	#获取网站divclass为course-card-content的html
        GetA = Div.find_all('h3')									#获取网站该div下的h3标签
        ListTitle = []
        for i in range(0, 17):
            HuoQu = GetA[i].text.replace('\xa0', '\n\n')			#去除html标签,只保留其中的内容
            ListTitle.append(HuoQu)									#将图片名称添加到ListTitle数组中去
        List = []
        for j in listurl:
            name = 'http:'
            str(name)
            Url = name + j[15:]										#去除每一个j字符串(url)的前15个字母
            List.append(Url)										#向List数组中添加最终形成的url网址
        for i,url in enumerate(List):								#用遍历数组和其下标的方式可以加上其图片的名称
            Nima=str(ListTitle[i])									#图片名称=每一个ListTitle中的[i],并遍历出来
            f = open(Nima+'.jpg', 'wb+')
            req = urllib.request.urlopen(url)
            buf = req.read()
            f.write(buf)											#开始下载数据
if __name__ == "__main__":
    print("程序开始运行.....")
    get=SUrl()
    list=['1','2','3']												#循环输出多个url网址的图片
    for i in list:
        Url2='http://www.imooc.com/course/list?page='+i				#一般都是有规律的,只改最后一个就行
        get.SetUrl(Url2)											
    print("程序运行结束.....")
 

只做记录学习
(qq:九七二四三九三二九,有不懂的可以问我)

猜你喜欢

转载自blog.csdn.net/weixin_45005209/article/details/106597681