爬虫实战练习(三) 发表于 2020-12-28 | 分类于 python 字数统计: 287 字 | 阅读时长 ≈ 1 分钟 爬取4k图片 一、知识点 xpath解析数据 二、思路 获取网页数据 解析网页结构 通过xpath获取目标数据 处理数据并保存 三、代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152# 爬取4k图片import requestsfrom lxml import etreeimport osdef get_url(): url = "http://pic.netbian.com/4kfengjing/" return urldef get_header(): headers = { 'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36" } return headersdef run_main(): ''' 主要实现代码 :return: ''' # 1.获取网页数据 response = requests.get(get_url(), get_header()) # 2.将获取的内容转码为gbk response.encoding = 'gbk' # 3.将获取的内容加载为html格式 tree = etree.HTML(response.text) # 4.创建一个文件用来保存图片 if not os.path.exists('./4kfengjing'): os.mkdir('./4kfengjing') # 5.通过xpath处理网页数据 li_list = tree.xpath('//div[@class="slist"]/ul/li') for li in li_list: # 5.1 获取图片url img_src = 'http://pic.netbian.com/'+li.xpath('./a/img/@src')[0] # 5.2 获取图片名称 img_name = li.xpath('./a/b/text()')[0] # 5.2 根据图片url,请求到图片数据 img_data = requests.get(img_src, get_header()).content # 5.3 构建图片保存路径 img_path = '4kfengjing/' + img_name + '.jpg' # 5.4 进行保存 with open(img_path, 'wb') as fp: fp.write(img_data) print(img_name + '-----下载成功')if __name__ == '__main__': run_main() ------------- End -------------