萌新第一次写CSDN博客,有点紧张。写个博客感觉像写网页一样,很高端的样子。大三,犹豫了蛮久不打算考研了,开始为就业做准备。自学Python差不多一个月,现在尝试使用Python爬取静态网页的图片。
1.打开妹子图官网,鼠标右键检查网页
2.找到图片的地址
可以看到img标签里的src属性就是图片的地址
使用requests模块和xpath语法爬取
1.模拟浏览器请求访问妹子图网站;
2.解析网页,抽取想要的图片地址;
3.下载并保存图片;
import requests
from lxml import etree
#设置头文件,反 反爬虫机制
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36",
"Referer": "https://www.mzitu.com/",#防盗链
}
#请求访问妹子图网站
response = requests.get("https://www.mzitu.com/xinggan/", headers=headers)
#解析并抽取图片地址
html = etree.HTML(response.text)
title_data = html.xpath('//ul/li/a/img/@alt')#标题
image_data = html.xpath('//ul/li/a/img/@data-original')#图片地址
#下载并保存到当前目录下的“妹子图”文件夹中
for title, image in zip(title_data, image_data):
response = requests.get(image, headers=headers)
filename = "妹子图\\" + title + ".jpg"
print("正在爬取:" + title)
with open(filename, 'wb') as f:
f.write(response.content)
这个爬取的只是一个页面的封面图片,稍微改进一下程序可以爬取更多页面