我们之前学习了爬虫来爬取网页中的文本 , 那么今天小编就给大家带来一个进阶方法---- python爬取网页中的图片 , 感兴趣的小伙伴可以耐心阅读一下小编的这篇文章 。
文章插图
如果想实现爬取网页中的图片 , 那么我们首先要先进行以下操作:
我们需要打开目标网址来查看网页结构(小编推荐大家使用火狐浏览器 , 可以直接按f12进行查看 , 由于小编使用的是pyquery , 能够直接看到图片的链接 , 我们只要通过pyquery锁定到这个img标签就可以继续下一步了 。
下面是具体的代码:
#!/usr/bin/env python # -*- coding: utf-8 -*-import requestsfrom pyquery import PyQuery as pqimport timeheaders = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 ' '(KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}# 这里我使用了代理 你可以去掉这个代理IP 我是为了后面大规模爬取做准备的proxies = { 'https': '218.75.69.50:39590'}# 请求网页 获取源码def start_request(url): r = requests.get(url, headers=headers, proxies=proxies) # 这个网站页面使用的是GBK编码 这里进行编码转换 r.encoding = 'GBK' html = r.text return html# 解析网页 获取图片def parse(text): doc = pq(text) # 锁定页面中的img标签 images = doc('div.list ul li img').items() x = 0 for image in images: # 获取每一张图片的链接 img_url = image.attr('src') # 获得每张图片的二进制内容 img = requests.get(img_url, headers=headers, proxies=proxies).content # 定义要存储图片的路劲 path = "F:\image\" + str(x) + ".jpg" # 将图片写入指定的目录 写入文件用"wb" with open(path, 'wb') as f: f.write(img) time.sleep(1) print("正在下载第{}张图片".format(x)) x += 1 print("写入完成")def main(): url = "http://www.netbian.com" text = start_request(url) parse(text)if __name__ == "__main__": main()【python怎么爬取网页中的图片?这篇文章讲解超级详细】以上就是小编给大家带来的实现python爬取网页图片的方法了 , 希望大家通过阅读小编的文章之后能够有所收获!如果大家觉得小编的文章不错的话 , 可以多多分享给有需要的人 。
推荐阅读
- Python中整数怎么定义?Python整数的特点是什么
- Python如何保留一位小数输出?Python怎么保留指定小数位
- python中两数相除取余数怎么运算?这两个方法你一定要知道
- Python中while语句怎么使用?while语句使用教程
- python怎么把字符串变成字典?这三个方法你一定要知道
- 如何利用python的input函数输入一个列表?这篇文章教给你方法
- 如何实现python中列表元素转为数字?这篇文章给你带来几个方法
- Python写入中文出错怎么办?问题原因其实是这个
- python输出字符串单双引号如何选择?这篇文章看完你就知道了
- pycharm中代码无法自动补全怎么办?这篇文章你一定要看