python下载网页图片(2)

在osChina上看到的一个小例子,直接运行有问题,就利用beautifulSoup给修改了下,
#-*- coding: UTF-8 -*-
import http
import urllib.request
from bs4 import BeautifulSoup
import os

def getContent():                     #从建立http连接,在网站中获取所有内容
    ur ="tu.duowan.com"
    conn = http.client.HTTPConnection(ur)
    conn.request("GET", "/m/meinv/index.html")
    r = conn.getresponse()
    data = r.read()                #.decode('utf-8') #编码根据实际情况酌情处理
    return data
 
def getImageUrl(data,filePath):             #将获取到img链接写到filePath文件
    sour = open(filePath, 'w')
    soup = BeautifulSoup(conte)
    for i in soup.find_all('img'):
        sour.write(i.get('src'))    #把从标签中提取的url地址写入文件
        sour.write(os.linesep)      #每次写入一个url地址,然后换行
    sour.close()
def downImage(filePath):                    #根据filePath里面的url自动下载图片
    tt = 0    #name
    sour = open(filePath)
    while 1:
        line = sour.readline()
        if line:
            #判断从文件中读取的url是不是图片类型,这里是jpg类型
            if(line.find('jpg')>0):
                data = urllib.request.urlopen(line).read()
                f = open('D:\\download\\tmp\\' + str(tt) + '.jpg', 'wb')   #在tmp文件中存储下载的图片
                f.write(data)
                f.close()
                tt = tt + 1
            else:
                pass
    sour.close()

conte = getContent()                          #建立 与网站的链接
soup = BeautifulSoup(conte)                   #获取网页的html信息
filePath = "D:\\download\\tmp\\1.txt"         #存储url的路径
getImageUrl(soup,filePath)                    #提取图片url的信息  
downImage(filePath)                           #下载图片  
print("Succeed download pictures")            #下载成功


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值