龙空技术网

python怎么爬图片

科技i关注 205

前言:

如今你们对“python爬图片教程”大致比较讲究,各位老铁们都需要知道一些“python爬图片教程”的相关资讯。那么小编同时在网摘上搜集了一些关于“python爬图片教程””的相关知识,希望各位老铁们能喜欢,咱们快快来学习一下吧!

学完了爬网页中的文本,今天我们来试着学习爬图片。目标网址: 我们的目标就是爬取这些壁纸

打开网址 查看网页结构

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

由于我使用的pyquery

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

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

下面是具体的代码:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time : 2018/10/31 17:54

# 爬取图片

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 = ""

text = start_request(url)

parse(text)

if __name__ == "__main__":

main()

以上就是python怎么爬图片的详细内容,更多请关注其它相关文章!

更多技巧请《转发 + 关注》哦!

标签: #python爬图片教程 #如何运用python爬图片