Python爬虫实现爬取京东手机页面的图片(实例代码)

 更新时间:2017年11月30日 10:15:13   作者:可豆豆  
下面小编就为大家分享一篇Python爬虫实现爬取京东手机页面的图片实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

实例如下所示:

__author__ = 'Fred Zhao'
 
import requests
from bs4 import BeautifulSoup
import os
from urllib.request import urlretrieve
 
class Picture():
 
 def __init__(self):
  self.headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36'}
  self.base_url = 'https://list.jd.com/list.html?cat=9987,653,655&page='
  self.base_path = os.path.dirname(__file__)
 
 def makedir(self, name):
  path = os.path.join(self.base_path, name)
  isExist = os.path.exists(path)
  if not isExist:
   os.makedirs(path)
   print("File has been created.")
  else:
   print('OK!The file is existed. You do not need create a new one.')
  os.chdir(path)
 
 def request(self, url):
  r = requests.get(url, headers=self.headers)
  return r
 
 def get_img(self, page):
  r = self.request(self.base_url + str(page))
  plist = BeautifulSoup(r.text, 'lxml').find('div', id='plist')
  item = plist.find_all('li', class_='gl-item')
  print(len(item))
  self.makedir('pictures')
  num = 0
  for i in item:
   num += 1
   imglist = i.find('div', class_='p-img')
   print(num)
   img = imglist.find('img')
   print('This is %s picture' %num)
   if img.get('src'):
    url = 'https:' + img.get('src')
    fileName = img.get('src').split('/')[-1]
    urlretrieve(url, filename=fileName)
 
   elif img.get('data-lazy-img'):
    url = 'https:' + img.get('data-lazy-img')
    fileName = img.get('data-lazy-img').split('/')[-1]
    urlretrieve(url, filename=fileName)
 
 
 
if __name__ == '__main__':
 picture = Picture()
 for i in range(2): #控制爬取的页数
  picture.get_img(i+1)

以上这篇Python爬虫实现爬取京东手机页面的图片(实例代码)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 分数霸榜! python助你微信跳一跳拿高分

    分数霸榜! python助你微信跳一跳拿高分

    分数霸榜!这篇文章主要为大家详细介绍了python助你微信跳一跳拿高分的秘籍,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • python 类型转换函数示例详解

    python 类型转换函数示例详解

    这篇文章主要介绍了python 类型转换函数示例详解,通过float()将一个字符串或数字转换为浮点数,本文结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • Python引用计数操作示例

    Python引用计数操作示例

    这篇文章主要介绍了Python引用计数操作,结合实例形式分析了Python引用计数相关操作与运行机制,需要的朋友可以参考下
    2018-08-08
  • python简单猜数游戏实例

    python简单猜数游戏实例

    这篇文章主要介绍了python简单猜数游戏,涉及Python随机数及流程控制的相关技巧,需要的朋友可以参考下
    2015-07-07
  • Python Numpy计算各类距离的方法

    Python Numpy计算各类距离的方法

    这篇文章主要介绍了Python Numpy计算各类距离的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • pip升级pip3的快速方法指南

    pip升级pip3的快速方法指南

    使用python时经常使用到pip命令,可以方便安装python的各种第三方库这篇文章主要给大家介绍了关于pip升级pip3的快速方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • python time模块用法实例详解

    python time模块用法实例详解

    这篇文章主要介绍了python中time模块的用法,包括了各类时间函数,需要的朋友可以参考下
    2014-09-09
  • python基础教程之类class定义使用方法

    python基础教程之类class定义使用方法

    Python中的类(Class)是一个抽象的概念,比函数还要抽象,这也就是Python的核心概念,面对对象的编程方法(OOP),其它如:Java、C++等都是面对对象的编程语言
    2014-02-02
  • Python递归遍历列表及输出的实现方法

    Python递归遍历列表及输出的实现方法

    这篇文章主要介绍了Python递归遍历列表及输出的实现方法,可实现递归遍历列表中的每一项,若是元祖则判断是否为基本类型然后输出,需要的朋友可以参考下
    2015-05-05
  • python中py文件与pyc文件相互转换的方法实例

    python中py文件与pyc文件相互转换的方法实例

    pyc是一种二进制文件,是由py文件经过编译后,生成的文件,下面这篇文章主要给大家介绍了关于python中py文件与pyc文件相互转换的相关资料,需要的朋友可以参考下
    2022-05-05

最新评论