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的tkinter布局之简单的聊天窗口实现方法
Sep 03 Python
python通过自定义isnumber函数判断字符串是否为数字的方法
Apr 23 Python
pygame播放音乐的方法
May 19 Python
Python编程中用close()方法关闭文件的教程
May 24 Python
详解Python核心对象类型字符串
Feb 11 Python
Django 使用logging打印日志的实例
Apr 28 Python
在cmd命令行里进入和退出Python程序的方法
May 12 Python
Python清空文件并替换内容的实例
Oct 22 Python
PyQt5创建一个新窗口的实例
Jun 20 Python
用Python画小女孩放风筝的示例
Nov 23 Python
Python中logger日志模块详解
Aug 04 Python
Python OpenCV实现传统图片格式与base64转换
Jun 13 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
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
js正确获取元素样式详解
2009/08/07 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
2015/05/12 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
JavaScript调用客户端Java程序的方法
2015/07/27 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
jquery表单验证插件validation使用方法详解
2017/01/20 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
2018/08/22 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
浅谈python中的getattr函数 hasattr函数
2016/06/14 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
Python 读取串口数据,动态绘图的示例
2019/07/02 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
后勤自我鉴定
2013/10/13 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
英语通知范文
2015/04/22 职场文书
七年级作文之下雨天
2019/12/23 职场文书
mysql insert 存在即不插入语法说明
2022/03/25 MySQL
Python加密技术之RSA加密解密的实现
2022/04/08 Python