突发奇想,给各位爬爬壁纸图片,话不多说,开始行动。如果文章对你有帮助,点赞,收藏。
一,知道爬取自己想要的壁纸图片网址
模型写出来
'''
爬取网络图片
1,要到主页面的源码,从主页面拿到子页面连接
2,通过子页面内容,找到子页面下载路径
3,下载图片
'''
def picture():
host_page(url)
son_page()
download()
def host_page():
#获取主页面
pass
def son_page():
#获取子页面
pass
def download():
#下载图片
pass
if __name__ == '__main__':
picture()
目标
点击f12,进入开发者模式。找到自己需要的图片(或者点击鼠标右键,点击检查也可以)
'''
爬取网络图片
1,要到主页面的源码,从主页面拿到子页面连接
2,通过子页面内容,找到子页面下载路径
3,下载图片
'''
import requests
from bs4 import BeautifulSoup
import time
def picture():
host_page()
download()
def host_page():
#获取主页面
url='https://pic.netbian.com/4kfengjing/'
headers = {
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.47"
} # 模拟的服务器头
resp=requests.get(url,headers=headers)#换头
newurl=BeautifulSoup(resp.text,'html.parser')#主页面内容就出来了
print(newurl)
def download():
#下载图片
pass
if __name__ == '__main__':
host_page()
显示乱码,所以进行编码更改
参考操作地址:https://editor.csdn.net/md/?articleId=112390388(处理方法小编写弄一个单独的博客,欢迎大家观看)
处理完乱码,进行筛选,选择自己想要内容。
'''
爬取网络图片
1,要到主页面的源码,从主页面拿到子页面连接
2,通过子页面内容,找到子页面下载路径
3,下载图片
'''
import requests
from bs4 import BeautifulSoup
import time
def picture():
host_page()
download()
def host_page():
#获取主页面
url='https://pic.netbian.com/4kfengjing/'
headers = {
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.47"
} # 模拟的服务器头
resp=requests.get(url,headers=headers)#换头
resp.encoding='gbk'#处理乱码
newurl=BeautifulSoup(resp.text,'html.parser')#主页面内容就出来了
alist=newurl.find('div',class_='slist').find_all("a")#查找a标签
for i in alist :
print(i.get('href'))#获取子页面
def download():
#下载图片
pass
if __name__ == '__main__':
host_page()
现象:地址
下面创建一个文件夹,用来存储照片。
'''
爬取网络图片
1,要到主页面的源码,从主页面拿到子页面连接
2,通过子页面内容,找到子页面下载路径
3,下载图片
'''
import requests
from bs4 import BeautifulSoup
import time
def picture():
#获取主页面
url='https://pic.netbian.com/4kfengjing/'
headers = {
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.47"
} # 模拟的服务器头
resp=requests.get(url,headers=headers)#换头
resp.encoding='gbk'#处理乱码
newurl=BeautifulSoup(resp.text,'html.parser')#主页面内容就出来了
alist=newurl.find('div',class_='slist').find_all("a")#查找a标签
for i in alist :
href=i.get('href')#获取子页面
child_resp=requests.get('https://pic.netbian.com/'+href)
child_resp.encoding='gbk'
text=child_resp.text
child_page = BeautifulSoup(text, 'html.parser')
a=child_page.find('a',id='img')
img=a.find('img')
src=img.get('src')
#下载图片
print(src)
img_resp=requests.get('https://pic.netbian.com/tupian/21953.html'+src)
img_name=src.split("/")[-1]#取url中最后一个/以后内容为名字
with open('picture/'+img_name,mode='wb') as f :
f.write(img_resp.content) #图片内容获取
print('下载完成')
time.sleep(1)#防止ip地址被封,休息1秒后继续
if __name__ == '__main__':
picture()
文件夹取消索引(方便)
好了,就完成了,谢谢大家观看。