python爬虫爬取4K图片实例
2021/7/19 17:06:16
本文主要是介绍python爬虫爬取4K图片实例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
爬取目标网站https://pic.netbian.com/4kfengjing/index.html
之前写的时候发现爬取的图片都是缩略图,不是原图4k的,经过改良得以实现
思路:
话不多说,详细思路,直接上代码
# -*- codeing = utf-8 -*- # @Time : 2021/7/19 15:32 # @Author : ArthurHuang # @File : 8_4k图片解析爬取(优化).py # @Software : PyCharm import requests from lxml import html etree = html.etree #新版本etree现在需要这样导入 import os if __name__ == "__main__": url = "https://pic.netbian.com/4kfengjing/" #爬取的是第一页 # UA伪装:将对应的User-Agent封装到一个字典中 headers = { "User-Agent": "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 91.0.4472.77 Safari / 537.36" } #这三句代码设置想要数据的编码 编码格式跟爬取的网站的格式一样 才不会乱码 response = requests.get(url=url,headers=headers) #response.encoding='gbk' 上下两种方法都是可以的 page_text = response.text #实例化etree对象 tree = etree.HTML(page_text) #数据解析:这里解析的是第一页 a_list = tree.xpath('//div[@class="slist"]/ul/li/a') #创建一个文件夹保存图片 if not os.path.exists('./4kpicLibs'): os.mkdir('./4kpicLibs') for a in a_list: img_name = a.xpath('./img/@alt')[0] + '.jpg' img_name = img_name.encode('iso-8859-1').decode('gbk') #通用处理中文乱码的解决方案 #print(img_name) imgpage_src = 'https://pic.netbian.com/'+a.xpath('./@href')[0] # ./表示当前这个li标签 # 对图片详情页发起请求,解析出图片的herf response = requests.get(imgpage_src, headers=headers) imgsrc_text = response.text # 实例化etree对象 imgtree = etree.HTML(imgsrc_text) src_list = imgtree.xpath('//div[@class="photo-pic"]/a') #原图片所在的网页 for img in src_list: img_src = 'https://pic.netbian.com/' + img.xpath('./img/@src')[0] # ./表示当前这个li标签 #print(img_src) img_data = requests.get(url=img_src, headers=headers).content #content 处理图片的二进制数据 img_path = '4kpicLibs/'+img_name with open(img_path,'wb')as fp: fp.write(img_data) print(img_name,"下载成功!!!")
项目实现的还不是很完美,因为个人能力,分页获取图片功能无法实现,原因在于
我发现第一页的url是https://pic.netbian.com/4kfengjing/index.html
往后的url是
https://pic.netbian.com/4kfengjing/index_2.html
https://pic.netbian.com/4kfengjing/index_3.html
....
我不知道这里要怎么处理,如果没有那个_,可以用占位符加上循环获取,但是那个_把我给整懵了,有能力的大牛麻烦可以在评论区告诉我一下,感谢!
这篇关于python爬虫爬取4K图片实例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程