import requests
from bs4 import BeautifulSoup
import re
import urllib.request
import time
link_url = []
tupian_url = []
zhang = ge = 0
#获取列表页所有网址
for i in range(3):
print('正在获取第'+ str(i+1) +'页网址')
#获取链接
link = 'http://www.**********.com' + str(234-i) + '.html'
#打开网址
r = requests.get(url=link)
#解析网址
soup = BeautifulSoup(r.text,'lxml')
#获取对应链接
wangzhi = soup.find_all('a',href = re.compile('/htm/\d{4}/\d{1,2}/\d{1,2}/p01/\d{4,}.html'))
#遍历链接,加入列表
for j in wangzhi:
u = j.attrs['href']
u = 'http://www.**********.com/' + u
link_url.append(u)
break
print('网址获取完成,共获取 '+str(len(link_url))+' 个网址')
#获取网址中的图片链接
for g in link_url:
ge = ge + 1
print('正在获取第 '+str(ge)+' 个网址的图片链接')
#打开网址
r = requests.get(url=g)
#解析网址
soup = BeautifulSoup(r.text,'lxml')
#解析网址中的图片链接
tupian = soup.find('div',id="view1").find_all('img')
#把解析到的图片网址,读取出来,并添加到 tupian_url
for i in tupian:
links = i.attrs['src']
tupian_url.append(links)
break
print('图片链接获取完成!!!共有图片 '+str(len(tupian_url))+' 张')
#告诉客户,一共采集了多少图片链接
for h in tupian_url:
#显示下载到第几张
zhang = zhang + 1
print('正在下载第'+str(zhang)+'张图片')
#获取当前时间,时分秒
now_time = time.strftime("%H%M%S",time.localtime())
#当前时间时分秒,加上原来的文件名,构成新的唯一文件名
wenjianming = now_time + h.split('/')[-1]
#打开图片链接
img = urllib.request.urlopen(h).read()
#获取图片
print(wenjianming)
#把获取的文件,保存下来
with open(wenjianming, 'wb') as f:
f.write(img)
print('图片获取完成!!!')
这是代码 网址小弟隐藏了,报错的 那一句就是 img = urllib.request.urlopen(h).read() 最后倒数第八行 其他运行都ok |