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 获得13位unix时间戳的方法
Oct 20 Python
python使用logging模块发送邮件代码示例
Jan 18 Python
用十张图详解TensorFlow数据读取机制(附代码)
Feb 06 Python
Django开发的简易留言板案例详解
Dec 04 Python
python判断文件夹内是否存在指定后缀文件的实例
Jun 10 Python
pytorch中的自定义数据处理详解
Jan 06 Python
Windows下Anaconda和PyCharm的安装与使用详解
Apr 23 Python
tensorflow下的图片标准化函数per_image_standardization用法
Jun 30 Python
基于python实现音乐播放器代码实例
Jul 01 Python
几款好用的python工具库(小结)
Oct 20 Python
Python爬虫之爬取某文库文档数据
Apr 21 Python
python中 .npy文件的读写操作实例
Apr 14 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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
Zend Guard一些常见问题解答
2008/09/11 PHP
php学习之运算符相关概念
2011/06/09 PHP
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
php 数组处理函数extract详解及实例代码
2016/11/23 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
Laravel框架数据库迁移操作实例详解
2020/04/06 PHP
javascript 贪吃蛇实现代码
2008/11/22 Javascript
jQuery.extend 函数的详细用法
2012/06/27 Javascript
javascript检查浏览器是否支持flash的实现代码
2014/08/14 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
JavaScript模拟push
2016/03/06 Javascript
JS实现环形进度条(从0到100%)效果
2016/07/05 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
jquery replace方法去空格
2017/05/08 jQuery
nodejs创建简易web服务器与文件读写的实例
2017/09/07 NodeJs
JS随机数产生代码分享
2018/02/24 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
python2.7实现爬虫网页数据
2018/05/25 Python
解决python报错MemoryError的问题
2018/06/26 Python
Python中Numpy mat的使用详解
2019/05/24 Python
JupyterNotebook设置Python环境的方法步骤
2019/12/03 Python
django项目中新增app的2种实现方法
2020/04/01 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
2020/05/20 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
优秀团支部事迹材料
2014/02/08 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
2014年生活老师工作总结
2014/12/23 职场文书
经费申请报告
2015/05/15 职场文书
python实现进度条的多种实现
2021/04/29 Python
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python