Python筛选网页中的网址,下载图片

# coding=utf-8
import sys
import re
import urllib.request
import os
import socket

#targeDir = rD:PythonWorkPlaceload  # 文件保存路径

page_url = "http://image.baidu.com/search/index?tn=baiduimage&ct=201326592&lm=-1&cl=2&ie=gbk&word=%B7%E7%BE%B0%CD%BC%C6%AC&fr=ala&ala=1&alatpl=others&pos=0"



def getHtml(url):
    req = urllib.request.Request(url)

    response = urllib.request.urlopen(req)

    the_page = response.read()

    return the_page.decode("utf-8")

# type=sys.getfilesystemencoding() #转换成本地系统编码


def getImag(html):
    reg = r'(http:[^s]*?(jpg|png|gif))'
    imagelist = re.findall(reg, str(getHtml(page_url)))
   # for(link in set(re.findall(reg, str(getHtml(page_url))))):
    #    print(link)
    return imagelist


print(getImag(page_url))

这里写图片描述

# coding=utf-8
import sys
import re
import urllib.request
import os
import socket

  # 文件保存路径

targeDir = "d:\\PythonLoadPlace"
page_url = "http://image.baidu.com/search/index?tn=baiduimage&ct=201326592&lm=-1&cl=2&ie=gbk&word=%B7%E7%BE%B0%CD%BC%C6%AC&fr=ala&ala=1&alatpl=others&pos=0"


def destFile(path):
    if not os.path.isdir(path):
        os.mkdir(path)
    pos = path.rindex('/')
    t = os.path.join(path, path[pos+1:])
    return t


def getHtml(url):

    req = urllib.request.Request(url)

    response = urllib.request.urlopen(req)

    the_page = response.read()

    return the_page.decode("utf-8")

# type=sys.getfilesystemencoding() #转换成本地系统编码


def getImag(html):

    reg = r'(http:[^s]*?(jpg|png|gif))|(<a.*?href=.*?>)'
    imagelist = re.findall(reg, str(getHtml(html)))
    return imagelist

for link in getImag(page_url):
    print(link)
    try:
        urllib.request.urlretrieve(link[0], destFile(targeDir))  # 下载图片
    except:  # 异常抛出
        print('失败')

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值