Python爬虫xpath爬取美女图片
似乎学习入门Python爬虫,都会去爬取美女图片。第一篇关于爬虫的博客,也写一个爬取美女图片的小程序吧。
#解析下载图片数据 http://pic.netbian.com/4kmeinv/
import requests
from lxml import etree
import os
url = 'http://pic.netbian.com/4kmeinv/'
#进行UA伪装
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
response = requests.get(url=url,headers=headers)
#可以手动设定响应数据的编码格式
#response.encoding = 'utf-8'
page_text = response.text
#数据解析:src的属性值、alt的属性值
tree = etree.HTML(page_text)
li_list = tree.xpath('//div[@class="slist"]/ul/li')
#创建一个文件夹
if not os.path.exists('./meinv'):
os.mkdir('./meinv')
for li in li_list:
img_src = 'http://pic.netbian.com/'+li.xpath('./a/img/@src')[0] #获取属性src的值
img_name = li.xpath('./a/img/@alt')[0]+'.jpg' #获取属性alt的值
#通用的处理中文乱码的解决方案
img_name = img_name.encode('iso-8859-1').decode('gbk')
#print(img_src,img_name)
#请求图片进行持久化存储
img_data = requests.get(url=img_src,headers=headers).content
img_path = 'meinv/'+img_name
with open(img_path,'wb') as fp:
fp.write(img_data)
print('img_name下载成功!')