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


Posted in Python onNovember 30, 2017

实例如下所示:

__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标准异常和异常处理详解
Feb 02 Python
python 将数据保存为excel的xls格式(实例讲解)
May 03 Python
pandas 将list切分后存入DataFrame中的实例
Jul 03 Python
Python实现的读取/更改/写入xml文件操作示例
Aug 30 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
Python Opencv任意形状目标检测并绘制框图
Jul 23 Python
Python适配器模式代码实现解析
Aug 02 Python
python使用socket 先读取长度,在读取报文内容示例
Sep 26 Python
python range实例用法分享
Feb 06 Python
Python实现AI换脸功能
Apr 10 Python
安装多个版本的TensorFlow的方法步骤
Apr 21 Python
Pycharm配置autopep8实现流程解析
Nov 28 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
Nov 29 #Python
Python科学画图代码分享
Nov 29 #Python
Python中Scrapy爬虫图片处理详解
Nov 29 #Python
Python使用django框架实现多人在线匿名聊天的小程序
Nov 29 #Python
Python实现的计数排序算法示例
Nov 29 #Python
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 #Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
Nov 29 #Python
You might like
10 个经典PHP函数
2013/10/17 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
十大使用PHP框架的理由
2015/09/26 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
jquery 获取json数据实现代码
2009/04/27 Javascript
JS获取url链接字符串 location.href
2013/12/23 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
jQuery平滑旋转幻灯片特效代码分享
2015/09/07 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
JS实现放烟花效果
2020/03/10 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
解决pandas中读取中文名称的csv文件报错的问题
2018/07/04 Python
Django框架视图函数设计示例
2019/07/29 Python
flask框架url与重定向操作实例详解
2020/01/25 Python
python之生成多层json结构的实现
2020/02/27 Python
通过代码实例了解Python异常本质
2020/09/16 Python
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
Troy-Bilt官网:草坪割草机、吹雪机、分蘖机等
2019/02/19 全球购物
意大利值得信赖的在线超级药房:PillolaStore
2020/02/05 全球购物
社区班子个人对照检查材料思想汇报
2014/10/07 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
党员示范岗材料
2014/12/19 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
请客吃饭开场白
2015/06/01 职场文书
2015初中团委工作总结
2015/07/28 职场文书
英语教学课后反思
2016/02/15 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
Python实现的扫码工具居然这么好用!
2021/06/07 Python
java解析XML详解
2021/07/09 Java/Android