有疑问可以回复我,共同交流学习。
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author: ss from bs4 import BeautifulSoup import requests import time import random import os my_headers = [ "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)" ] headers = { 'User-Agent':random.choice(my_headers) } def Downloads(url,abc,title1): data = requests.get(url,headers=headers) time.sleep(1) with open('.\壁纸\' + title1 + '\' + str(abc) + '.jpg','wb+') as f: f.write(data.content) def get_image(url,abc,title1): #url = 'http://desk.zol.com.cn/showpic/1366x768_89338_102.html' data = requests.get(url, headers=headers) soup = BeautifulSoup(data.text, 'lxml') url = soup.select('img')[0].get('src') print('正在下载{}第{}张'.format(title1, abc)) Downloads(url,abc,title1) def get_image_url(url,abc): #url = 'http://desk.zol.com.cn/bizhi/7254_89744_2.html' data = requests.get(url,headers=headers) soup = BeautifulSoup(data.text,'lxml') time.sleep(2) url = 'http://desk.zol.com.cn' + soup.select('dd#tagfbl > a#1366x768')[0].get('href') title1 = soup.select('a#titleName')[0].text if not os.path.exists('.\壁纸\' + title1): os.mkdir('.\壁纸\' + title1) get_image(url,abc,title1) def get_one_urls(url): #url = 'http://desk.zol.com.cn/bizhi/7211_89338_2.html' data = requests.get(url,headers=headers) soup = BeautifulSoup(data.text,'lxml') urlss = soup.select('div.photo-list-box > ul.clearfix') title1 = soup.select('a#titleName')[0].text print('正在下载{}'.format(title1)) abc = 0 for urls in urlss: urls = urls.select('li > a') for url in urls: try: url = 'http://desk.zol.com.cn' + url.get('href') time.sleep(1) abc += 1 get_image_url(url,abc) except: continue def get_urls(url): #url = 'http://desk.zol.com.cn/fengjing/1366x768/' data = requests.get(url,headers=headers) soup = BeautifulSoup(data.text.encode('ISO-8859-1').decode('GB18030'),'lxml') urls = soup.select('li.photo-list-padding > a') #titles = soup.select('li.photo-list-padding > a.pic > span > em') #urls = soup.select('body > div.wrapper.top-main.clearfix > div.main > ul > li > a')[0].get('href') for url in urls: try: time.sleep(1) url = 'http://desk.zol.com.cn' + url.get('href') get_one_urls(url) except: continue def urls(): for i in range(10): try: url = 'http://desk.zol.com.cn/fengjing/1366x768/' + str(i) + '.html' time.sleep(1) get_urls(url) except: continue urls()