参考文章:https://www..com/franklv/p/6829387.html
今天想给我的电脑里面多加点壁纸,但是嫌弃一个个保存太慢,于是想着写个爬虫直接批量爬取,因为爬虫只是很久之前学过一些,很多基础语句都不记得了,于是直接在网上找了个有基础操作语句的爬虫代码,在这上面进行修改以适应我的要求和爬取的网页需求
我爬取的网页如下:
彼岸桌面网唯美图片:http://www.netbian.com/weimei/index.htm
注意:这次爬取的网页的图片是静态的,没有爬取js,而且之前爬虫就学了一点也没很深入,所以代码写的很丑,而且因为写这个主要是为了给电脑爬个壁纸,所以侧重功能,一些地方能简单解决的就简单解决了,在此建议想好好学习爬虫的还是多多钻研,不要取巧
下面代码来自上面的参考文章:
import requests
from bs4 import BeautifulSoup
import os
def getHtmlurl(url): #获取网址
try:
r=requests.get(url)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return ""
def getpic(html): #获取图片地址并下载
soup =BeautifulSoup(html,'html.parser')
all_img=soup.find('ul',class_='pli')find_all('img')
for img in all_img:
src=img['src']
img_url=src
print (img_url)
root='D:/pic/'
path = root + img_url.split('/')[-1]
try: #创建或判断路径图片是否存在并下载
if not os.path.exists(root):
os.mkdir(root)
if not os.path.exists(path):
r = requests.get(img_url)
with open(path, 'wb') as f:
f.write(r.content)
f.close()
print("文件保存成功")
else:
print("文件已存在")
except:
print("爬取失败")
def main():
url='http://www.ivsky.com/bizhi/yourname_v39947/'
html=(getHtmlurl(url))
print(getpic(html))
main()
这上面的代码中有基本的网页信息获取,图片下载操作,我们主要工作就是依据网页源代码信息以及自己的个人要求编写爬取网页图片的代码。
首先点开网站,按F12观察源码信息: