爬虫实例1-桌面壁纸
来源:互联网 发布:网络订餐平台监管 编辑:程序博客网 时间:2024/05/19 00:10
#引用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 BeautifulSoupimport requestsimport osurl = '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)
#解决获取网页源码的乱码问题,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!')
阅读全文
0 0
- 爬虫实例1-桌面壁纸
- Python网络爬虫小试刀——抓取ZOL桌面壁纸图片1
- 用C#三两下设置桌面壁纸[C#实例学习系列]
- Python网络爬虫小试刀——抓取ZOL桌面壁纸图片2
- Python网络爬虫小试刀——抓取ZOL桌面壁纸图片3
- Python网络爬虫小试刀——抓取ZOL桌面壁纸图片4
- 中国大学排名定向爬虫(实例1)
- 爬虫入门:urllib爬虫实例
- 史上最极客桌面壁纸
- Android桌面壁纸
- java多线程爬虫实例
- java多线程爬虫实例
- python爬虫实例
- Python 爬虫入门实例
- python爬虫小实例
- 【实例】爬虫:下载图片
- scrapy google爬虫实例
- Python简单爬虫实例
- find命令、文件名后缀、Linux和windows互传文件
- GitHub 初接触 (二) 建立 GitHub Repositorys
- Oracle中 Union 中 ORA-12704:字符集不匹配问题的解决
- Linux初学者应该养成的七个使用习惯
- 101道RHCE考题和详细答案(三)
- 爬虫实例1-桌面壁纸
- Java征途之第一天——
- RxJava2和Handler两种方法实现轮播图
- 字符串(一)——基本操作及存储实现
- c#
- 转折点一
- 矩阵的范数与函数
- (洛谷 1090 ssl 1040)合并果子
- 这是您的圣诞祝福程序,请开始运行!