#引用bs4模块中的Beautiful soup工具
from bs4 import BeautifulSoup
#引用request模块
import requests
#引用os模块,保存获取的模块
for a in all_a:
title = a.get_text().replace('/','') #取得<a>标签中的text
href = a.get('href') #取得<a>标签中的href
img_url = url + href[1:-4] + '(1).htm' #补全herf
if os.path.isdir(os.path.join("D:\zhuoku",title)): #如果存在文件夹
print('exist ' + title)
pass #跳过
else: #否则
os.makedirs(os.path.join("D:\zhuoku",title)) #创建文件夹
print('makedir ' + title)
os.chdir("D:\zhuoku\\"+title) #切换到此文件夹
img_url_get = requests.get(img_url,headers = header)
img_url_soup = BeautifulSoup(img_url_get.text,'html.parser')
max_img_page = img_url_soup.find('div',id="yema").find_all('a')[-1].get_text() #[-1]表示find_all('a')中的最后一个
for page in range(1, int(max_img_page)+1):
jpg_href = url + href[1:-4] + '(' + str(page) + ').htm' + '#turn' #jpg网址
jpg_href_get = requests.get(jpg_href,headers = header)
jpg_soup = BeautifulSoup(jpg_href_get.text,'html.parser')
jpg_url = jpg_soup.find('div',id="bizhiimg").find('img')['src'] #jpg网址中的图片文件地址
name = jpg_url[-9:] #截取图片文件地址的倒数第9位至末尾为图片的名字
if os.path.isfile(name): #如果存在名为name的文件
print(name + ' exist skip')
pass #下面全跳过
else: #否则
jpg_header = {
'Referer':jpg_href,
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36'
}
jpg = requests.get(jpg_url,headers = jpg_header) #requests返回jpg二进制文件
f = open(name, 'ab')
f.write(jpg.content)
print(name + ' saved')
f.close()
print('congratulations! all finished!')
from bs4 import BeautifulSoup
#引用request模块
import requests
#引用os模块,保存获取的模块
import os
(源代码)
from bs4 import BeautifulSoup
import requests
import os
url = 'http://www.zhuoku.com/'
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36'}
url_get = requests.get(url,headers = header)
url_decode = url_get.content.decode("gb2312","ignore").encode("utf-8","ignore") #gb2312为网页编码
url_soup = BeautifulSoup(url_decode,'html.parser')
all_a = url_soup.find('div',id="zuixin").find_all('a',attrs={"class":"title"}) #此处attrs={"class":"title"}必须为大括号
for a in all_a:
title = a.get_text().replace('/','') #取得<a>标签中的text
href = a.get('href') #取得<a>标签中的href
img_url = url + href[1:-4] + '(1).htm' #补全herf
if os.path.isdir(os.path.join("D:\zhuoku",title)): #如果存在文件夹
print('exist ' + title)
pass #跳过
else: #否则
os.makedirs(os.path.join("D:\zhuoku",title)) #创建文件夹
print('makedir ' + title)
os.chdir("D:\zhuoku\\"+title) #切换到此文件夹
img_url_get = requests.get(img_url,headers = header)
img_url_soup = BeautifulSoup(img_url_get.text,'html.parser')
max_img_page = img_url_soup.find('div',id="yema").find_all('a')[-1].get_text() #[-1]表示find_all('a')中的最后一个
for page in range(1, int(max_img_page)+1):
jpg_href = url + href[1:-4] + '(' + str(page) + ').htm' + '#turn' #jpg网址
jpg_href_get = requests.get(jpg_href,headers = header)
jpg_soup = BeautifulSoup(jpg_href_get.text,'html.parser')
jpg_url = jpg_soup.find('div',id="bizhiimg").find('img')['src'] #jpg网址中的图片文件地址
name = jpg_url[-9:] #截取图片文件地址的倒数第9位至末尾为图片的名字
if os.path.isfile(name): #如果存在名为name的文件
print(name + ' exist skip')
pass #下面全跳过
else: #否则
jpg_header = {
'Referer':jpg_href,
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36'
}
jpg = requests.get(jpg_url,headers = jpg_header) #requests返回jpg二进制文件
f = open(name, 'ab')
f.write(jpg.content)
print(name + ' saved')
f.close()
print('congratulations! all finished!')
url = 'http://www.zhuoku.com/'
#Headers是HTTP请求和相应的核心,它承载了关于客户端浏览器,请求页面,服务器等相关的信息
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36'}#requests模块,用它来获取网页的源代码。
url_get = requests.get(url,headers = header)
扫描二维码关注公众号,回复:
2915066 查看本文章
#解决获取网页源码的乱码问题,gb2312为网页编码
url_decode = url_get.content.decode("gb2312","ignore").encode("utf-8","ignore")
#Beautiful soup网页下载器 ,BeautifulSoup模块是一个可以从网页上提取数据的Python库
url_soup = BeautifulSoup(url_decode,'html.parser')
all_a = url_soup.find('div',id="zuixin").find_all('a',attrs={"class":"title"}) #此处attrs={"class":"title"}必须为大括号for a in all_a:
title = a.get_text().replace('/','') #取得<a>标签中的text
href = a.get('href') #取得<a>标签中的href
img_url = url + href[1:-4] + '(1).htm' #补全herf
if os.path.isdir(os.path.join("D:\zhuoku",title)): #如果存在文件夹
print('exist ' + title)
pass #跳过
else: #否则
os.makedirs(os.path.join("D:\zhuoku",title)) #创建文件夹
print('makedir ' + title)
os.chdir("D:\zhuoku\\"+title) #切换到此文件夹
img_url_get = requests.get(img_url,headers = header)
img_url_soup = BeautifulSoup(img_url_get.text,'html.parser')
max_img_page = img_url_soup.find('div',id="yema").find_all('a')[-1].get_text() #[-1]表示find_all('a')中的最后一个
for page in range(1, int(max_img_page)+1):
jpg_href = url + href[1:-4] + '(' + str(page) + ').htm' + '#turn' #jpg网址
jpg_href_get = requests.get(jpg_href,headers = header)
jpg_soup = BeautifulSoup(jpg_href_get.text,'html.parser')
jpg_url = jpg_soup.find('div',id="bizhiimg").find('img')['src'] #jpg网址中的图片文件地址
name = jpg_url[-9:] #截取图片文件地址的倒数第9位至末尾为图片的名字
if os.path.isfile(name): #如果存在名为name的文件
print(name + ' exist skip')
pass #下面全跳过
else: #否则
jpg_header = {
'Referer':jpg_href,
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/6.1.2107.204 Safari/537.36'
}
jpg = requests.get(jpg_url,headers = jpg_header) #requests返回jpg二进制文件
f = open(name, 'ab')
f.write(jpg.content)
print(name + ' saved')
f.close()
print('congratulations! all finished!')