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爬虫框架Scrapy实战之批量抓取招聘信息
Aug 07 Python
python利用正则表达式搜索单词示例代码
Sep 24 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
Nov 03 Python
pyqt5的QComboBox 使用模板的具体方法
Sep 06 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
Feb 15 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
May 10 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
pip install 使用国内镜像的方法示例
Apr 03 Python
python爬虫把url链接编码成gbk2312格式过程解析
Jun 08 Python
python使用建议技巧分享(三)
Aug 18 Python
聊聊pytorch测试的时候为何要加上model.eval()
May 23 Python
python中opencv实现图片文本倾斜校正
Jun 11 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
php操作redis缓存方法分享
2015/06/03 PHP
php实现多站点共用session实现单点登录的方法详解
2019/09/18 PHP
jquery中:input和input的区别分析
2011/07/13 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
jquery批量控制form禁用的代码
2013/08/06 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
轮播的简单实现方法
2016/07/28 Javascript
element上传组件循环引用及简单时间倒计时的实现
2018/10/01 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
JS实现扫码枪扫描二维码功能
2020/01/03 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[46:32]Fnatic vs OG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
ERLANG和PYTHON互通实现过程详解
2019/07/05 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
numpy实现神经网络反向传播算法的步骤
2019/12/24 Python
使用 Python 处理3万多条数据只要几秒钟
2020/01/19 Python
HTML5跳转小程序wx-open-launch-weapp的示例代码
2020/07/16 HTML / CSS
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
工程业务员岗位职责
2013/12/31 职场文书
大学生演讲稿
2014/04/25 职场文书
2014年教师节座谈会发言稿
2014/09/10 职场文书
爱的教育观后感
2015/06/17 职场文书