|
|

楼主 |
发表于 2017-6-25 00:58:37
|
显示全部楼层
- 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 |
|