还是那个视频的教程,代码都是自己敲得,也是自己思路,除了乱码问题以外
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
#需求: 解析下载图片数据 http://pic.netbian.com/4kdongwu/ from lxml import etree import requests import os if not os.path.exists('./4k动物'): os.mkdir('./4k动物') url = 'http://pic.netbian.com/4kdongwu/index.html' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36' } page_text = requests.get(url=url, headers=headers).text tree = etree.HTML(page_text) li_list = tree.xpath('//div[@class="slist"]/ul/li') print(li_list) for i in li_list: src = i.xpath('./a/@href') list_src = 'http://pic.netbian.com' + src[0] img_page = requests.get(url=list_src, headers=headers).text img_tree = etree.HTML(img_page) img_title = img_tree.xpath('//div[@class="photo-pic"]/a/img/@alt') img_title = img_title[0].encode('ISO-8859-1').decode('gbk') + '.jpg' img_src = 'http://pic.netbian.com/' + img_tree.xpath('//div[@class="photo-pic"]/a/img/@src')[0] img = requests.get(img_src, headers=headers).content img_path = './4k动物/' + img_title with open(img_path, 'wb') as fp: fp.write(img) print(img_title, "---------", "下载成功!!!") |