[code=python]
# _*_ coding: utf-8 _*_
import urllib.request
import urllib
from bs4 import BeautifulSoup
import re
import os
# 下载网页
def get_content(url): # url:需要下载的网址
html = urllib.request.urlopen(url)
content = html.read().decode('utf-8')
html.close() # 打开网页记得关闭
# print(type(content))
return content
def get_image(info): # info:网页信息
soup = BeautifulSoup(info, "lxml") # 设置解析器为“lxml”
# # all_image = soup.find_all('img',class_ = "BDE_Image") #BeautifulSoup法
all_image = soup.find_all('img', src=re.compile(r'^https://.*?jpg$')) # 表示在整个网页中过滤出所有图片的地址,放在all_image中。(r'^https://.*?jpg$')是正则表达式。
# ######## 存放图片地址,第一种方法,这种办法可以自己创建文件夹
#path = 'D:\\downeyHWpic1' # 图片存放路径 /Volumes/移动盘(SD)/pic /Users/DOWNEY/Desktop
path = '/Users/DOWNEY/Desktop/pic'
# 将图片保存到D:\\downeyHWpic 文件夹中,如果没有downeyHWpic文件夹则创建
if not os.path.isdir(path):
os.makedirs(path)
paths = path + '/' # 保存在downeyHWpic1路径下
# ########
x = 1
for image in all_image:
print(all_image)
# urllib.request.urlretrieve(image['src'],"D:\\downeyHWpic\\%s.jpg"%x) #存放地址第二种方法
urllib.request.urlretrieve(image['src'], "%s%s.jpg" % (paths, x))
x += 1
#
#
url = "https://www.tohomh.com/zhenhunjie/247.html" # 在这里输入网址
#
# # url = input('请输入网址:' )
# # if url:
# # pass
# # else:
# # url = 'https://www.douban.com/'
info = get_content(url)
print (info)
get_image(info)
[/code]
还有一点是,我不清楚保存地址那段代码有没有错,也没有提示我。很奇怪。
路径分隔符在unix like系统上是正斜杠(除号)
单步看一下,哪里是有问题的咯