美文网首页Python3自学 爬虫实战Python爬虫作业
Python 爬取James Jean网站插画图片

Python 爬取James Jean网站插画图片

作者: 高杆python | 来源:发表于2017-06-22 15:22 被阅读0次
webres.jpg
最近工作比较忙,好久没有写爬虫啦,今天恰巧和一个搞设计的朋友聊天,发现他有爬虫这方面的需要,一时技痒,就完成了这份爬虫代码!
今天爬取的网站是,著名的插画艺术家美籍台湾人士James Jean的作品网站,图片不是特别多,但是每一幅作品都充满诡异与华丽的融合。网站上还有他为Prada等品牌设计作品。
Prada

1.代码:

# coding:utf-8
import sys
import requests
from bs4 import BeautifulSoup
from pathlib import Path
def _create_url():
      root_dir = _create_dir('./examples')
      url = "https://www.jamesjean.com"
      html = requests.get(url).text
      soup = BeautifulSoup(html,'lxml')
      aas = soup.select('li.gallery-collection > a')
      for aa in aas:
        href = aa.get("href")
        http = url + href
        dir_name = aa.text
        download_dir = _create_dir(root_dir / dir_name)
        get_data(http,download_dir)
def _create_dir(name):
    """
    根据传入的目录名创建一个目录,这里用到了 python3 引入的 pathlib 库。
    """
    directory = Path(name)
    if not directory.exists():
        directory.mkdir()
    return directory


def get_data(url, save_dir):
      headers = {
          'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'
      }
      html = requests.get(url,headers).text
      soup = BeautifulSoup(html,'lxml')
      imgs = soup.find_all(name = 'img', class_ = 'loading')
      i = 1
      for img in imgs:
        img_url = img.get('data-src')
        data = requests.get(img_url,headers)
        photo_name = str(i)+".jpg"
        save_path = save_dir / photo_name
        fp = open(save_path,'wb')
        fp.write(data.content)
        fp.close()
        i+=1

if __name__ == '__main__':
       _create_url()

2.效果图:

文件夹.png 2016.png

3.代码解析:
登录网站可以看到作品都是根据年份等条件进行检索后显示的,那么首先要确定出检索不同年份作品的URl,根据不同的年份在进行爬取,并将爬取的结果按照年份分别建立文件夹进行存储,这里存储的位置的examples文件夹是和Python爬虫文件同一路径下的相对路径!代码比较简单,下面再贴上几幅作品,供大家欣赏。

2016-2.jpg 2013-2.jpg 2012-52.jpg

相关文章

  • Python 爬取James Jean网站插画图片

    1.代码: 2.效果图: 3.代码解析:登录网站可以看到作品都是根据年份等条件进行检索后显示的,那么首先要确定出检...

  • 3个适合新人上手的Python项目

    人生苦短,我用Python! 废话不多说,今天给大家分享三个极实用的Python爬虫案例。 爬取网站美图 爬取图片...

  • python爬取网站图片

    周末自己花时间看了一下python爬取网络图片的一些实例,自己动手也操作了一下。 算是记录一些知识点。 Pytho...

  • Python爬虫-爬取网站图片

    今天要爬的网站就是 进入网站,点开美女图片栏目,打开开发者工具找到我们需要的url,跳转到详情页的url接下来我们...

  • Python爬取picjumbo网站图片

    首先,下载urllib3(我是用Anaconda下载的) 查看网页结构,并下载图片 效果展示

  • scrapy里面item传递数据后数据不正确的问题

    在上篇文章《python3 + scrapy 爬取妹子图 (meizitu.com)》中,我爬取了妹子图网站的图片...

  • python 爬取图片

    使用python2.7进行爬取网站图片。 看代码: #coding=utf-8import urllib2impo...

  • Python爬取图片并以二进制方式保存到本地

    本篇主要介绍python 爬取图片并以二进制形式保存到本地 这回爬取的是一个写真图片网站,上面有一个365日365...

  • 一个简单的爬虫

    功能:爬取目标网站全部主要图片(例子中是美图录网站的全部写真图片,按人名分类) 本示例使用Python3.5,需要...

  • 各类链接

    爬虫 使用python-aiohttp爬取今日头条 【Python】爬虫爬取各大网站新闻 Scrapy 模拟登录新...

网友评论

    本文标题:Python 爬取James Jean网站插画图片

    本文链接:https://www.haomeiwen.com/subject/mxaxcxtx.html