Python【爬虫实战】爬取美女壁纸资源
一:首先选取一个网站,这里我们选择了一个壁纸网站
二:进入网站,我们可以看到很多图片放在一页里
三:按下F12开发者工具,点击Elments查看网页的代码
四:按住左上角箭头,并点击网页中的图片找到图片所在代码的地方
五:知道这些后我们可以开始进行代码填写了
1、首先我们需要使用的是爬虫的常见库requests来获取HTML网页的代码,下面展示一些 内联代码片。
import requestsurl = 'https://www.h128.com/pc/anime/0/2/1920x1080/t/1.html' #网页的网址headers = { "user-
agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149
Safari/537.36"} #加入请求头r = requests.get(url,headers = headers) #getr.raise_for_status()r.encoding =
r.apparent_encodingprint(r.text)
2、获得了HTML网页的代码后,我们要想方法去获得图片所在位置,这时候我们使用我们的第二个库,
下面展示一些 内联代码片。
a = re.findall('<img src="https:(.*?)" alt',r.text) #(.*?)表示任意的字符串
让我们来看看返回的值是什么
我们发现爬取到的并不是图片,所以我们回过头看发现原来的图片前面有https:之后我们加入代码
x = 'https:' + i
六:最后我们把图片爬取到电脑上
root = "D://pics1//" path = root + url.split('?')[0].split('/')[-1]
#图片的名字更改 with open(path, 'wb') as f:
f.write(r.content) f.close()
print("文件已保存成功")
看看下载的图片
发现图片的规格不是原图,比较原图
下载的图☝☝☝
原图☝☝☝
发现w和h后面的参数有所差异,使用replace函数进行更改,最后运行代码查看
最后爬虫完毕,这次的爬虫只能爬取一页,如果爬取多页,可以用列表存取,如果要效率更高,到后来可以使用多线程爬虫。
最后上完整代码,下面展示一些,内联代码片。
headers = { "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/80.0.3987.149 Safari/537.36"} #加入请求头r = requests.get(url,headers = headers)
#getr.raise_for_status()r.encoding = r.apparent_encoding#print(r.text)a = re.findall('<img src="https:(.*?)" alt',r.text) #(.*?)表示任意的字符串for i in a: #print(i) url = 'https:' + i url = url.replace('w_487', 'w_1421').replace('h_274', 'h_799')
#print(x) r = requests.get(url,headers = headers) root = "D://pics1//"#保存在D盘的pics1里,这里要提前建好文件夹
path = root + url.split('?')[0].split('/')[-1] #图片的名字更改 with open(path, 'wb') as f: f.write(r.content) f.close() print("文件已保存成功")