python 下载网页内容 包括图片_python下载网页图片(2)

本文使用Python的BeautifulSoup库解析网页HTML,提取图片URL,并下载到本地。通过建立HTTP连接,获取网页内容,然后从HTML中找到所有图片标签,将图片链接写入文件,最后读取该文件并逐个下载图片。
摘要由CSDN通过智能技术生成

在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") #下载成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值