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:九七二四三九三二九,有不懂的可以问我)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值