初学python爬虫,记录一下学习过程,requests xpath提取图片地址并保存图片

系统练习requests xpath提取图片并保存本地

'''
requests库请求目标网址

xpath提取网页的图片地址

面向函数编程
'''
#导入第三方库
import requests
from lxml import etree
#定制请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
                         'AppleWebKit/537.36 (KHTML, like Gecko) '
                         'Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763'}

def get_html(url):
    #目标网页如果以 .text()方式输出文本,则出现乱码,故采用UTF-8方式输出网页文本
    html = requests.get(url,headers = headers).content.decode('utf-8')
    return html

def paser_html(html):
    #新建空列表,用于存放提取图片的url地址
    images_url = []
    #xpath库解析网页,提取图片地址
    e = etree.HTML(html)
    #xpath解析语法
    images_list = e.xpath('//li[@class="image-box"]/a/img/@data-echo')
    #遍历输出图片地址
    for image in images_list:
        images_url.append(image)
    return images_url
#定义保存图片函数
def save_image(images_url):
    #循环遍历图片地址
    for image_url in images_url:
        #请求每一个url
        r = requests.get(image_url,headers = headers)
        #定义每一个图片的名称
        file_name = image_url.split('/')[-1]
        #保存图片
        with open(file_name,'wb') as f:
            f.write(r.content)
#定义主函数
def main():
    url = 'https://www.yeitu.com/meinv/xinggan/'
    html = get_html(url)
    images_url = paser_html(html)
    save_image(images_url)
main()
发布了18 篇原创文章 · 获赞 14 · 访问量 1294

猜你喜欢

转载自blog.csdn.net/qq_46292926/article/details/104573968