您好,欢迎来到汇意旅游网。
搜索
您的当前位置:首页python怎么爬图片

python怎么爬图片

来源:汇意旅游网
学完了爬网页中的文本,今天我们来试着学习爬图片。目标网址:http://www.netbian.com/ 我们的目标就是爬取这些壁纸

打开网址 查看网页结构(推荐学习:Python视频教程)

用火狐浏览器打开链接 F12查看

由于我使用的pyquery

可以看到图片的链接 都在img标签的src属性中 我们只要通过pyquery锁定到这个img标签 就可以继续下一步了

我们先来尝试抓取一页的壁纸试试看

下面是具体的代码:

#!/usr/bin/env python 
# -*- coding: utf-8 -*-
# @Time : 2018/10/31 17:
# 爬取图片

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教程栏目进行学习!

Copyright © 2019- hids.cn 版权所有 赣ICP备2024042780号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务