我们之前学习了爬虫来爬取网页中的文本,那么今天小编就给大家带来一个进阶方法---- python爬取网页中的图片,感兴趣的小伙伴可以耐心阅读一下小编的这篇文章。

python怎么爬取网页中的图片?这篇文章讲解超级详细

如果想实现爬取网页中的图片,那么我们首先要先进行以下操作:

我们需要打开目标网址来查看网页结构(小编推荐大家使用火狐浏览器,可以直接按f12进行查看,由于小编使用的是pyquery,能够直接看到图片的链接,我们只要通过pyquery锁定到这个img标签就可以继续下一步了。

下面是具体的代码:

#!/usr/bin/env python 
# -*- coding: utf-8 -*-
import requests
from pyquery import PyQuery as pq
import time
headers = {
    '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

【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!