python利用urllib实现爬取京东网站商品图片的爬虫实例


Posted in Python onAugust 24, 2017

本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代码!

# -*- coding: utf-8 -*
import re
import os
import urllib
import urllib2
from bs4 import BeautifulSoup
def craw(url,page):
 html1=urllib2.urlopen(url).read()
 html1=str(html1)
 soup=BeautifulSoup(html1,'lxml')
 imagelist=soup.select('#J_goodsList > ul > li > div > div.p-img > a > img')
 namelist=soup.select('#J_goodsList > ul > li > div > div.p-name > a > em')
 #pricelist=soup.select('#plist > ul > li > div > div.p-price > strong')
 #print pricelist
 path = "E:/{}/".format(str(goods))
 if not os.path.exists(path):
  os.mkdir(path)
 for (imageurl,name) in zip(imagelist,namelist):
  name=name.get_text()
  imagename=path + name +".jpg"
  imgurl="http:"+str(imageurl.get('data-lazy-img'))
  if imgurl == 'http:None':
   imgurl = "http:" + str(imageurl.get('src'))
  try:
   urllib.urlretrieve(imgurl,filename=imagename)
  except:
   continue

'''
#J_goodsList > ul > li:nth-child(1) > div > div.p-img > a > img
#plist > ul > li:nth-child(1) > div > div.p-name.p-name-type3 > a > em
#plist > ul > li:nth-child(1) > div > div.p-price > strong:nth-child(1) > i
'''

if __name__ == "__main__":
 goods=raw_input('please input the goos you want:')
 pages=input('please input the pages you want:')
 count =0.0
 for i in range(1,int(pages+1),2):
  url="https://search.jd.com/Search?keyword={}&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&suggest=1.def.0.T06&wq=diann&page={}".format(str(goods),str(i))
  craw(url,i)
  count += 1
  print 'work completed {:.2f}%'.format(count/int(pages)*100)

图片的命名为商品的名称,京东商品图片地址的属性很可能会有所变动,所以大家进行编写的时候应该举一反三,灵活运用! 
这是我下载下来的手机类图片文件的截图: 

python利用urllib实现爬取京东网站商品图片的爬虫实例

我本地的爬取的速度很快,不到一分钟就能爬取100页上千个商品的图片!

以上这篇python利用urllib实现爬取京东网站商品图片的爬虫实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用graphics.py实现2048小游戏
Mar 10 Python
Python selenium如何设置等待时间
Sep 15 Python
Python列表推导式与生成器表达式用法示例
Feb 08 Python
python中pika模块问题的深入探究
Oct 13 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
python打印直角三角形与等腰三角形实例代码
Oct 20 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
Mysql数据库反向生成Django里面的models指令方式
May 18 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
Sep 01 Python
利用python为PostgreSQL的表自动添加分区
Jan 18 Python
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
Apr 14 Python
pytorch中的model.eval()和BN层的使用
May 22 Python
python 接口_从协议到抽象基类详解
Aug 24 #Python
Python调用ctypes使用C函数printf的方法
Aug 23 #Python
使用Python实现博客上进行自动翻页
Aug 23 #Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
Aug 23 #Python
Python PyQt5标准对话框用法示例
Aug 23 #Python
Python PyQt5实现的简易计算器功能示例
Aug 23 #Python
Python实现的密码强度检测器示例
Aug 23 #Python
You might like
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
js取小数点后两位四种方法
2019/01/18 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
微信小程序激励式视频广告组件使用详解
2019/12/06 Javascript
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
python基础教程之常用运算符
2014/08/29 Python
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
服装厂厂长岗位职责
2013/12/27 职场文书
销售业务员岗位职责
2014/01/29 职场文书
大学信息公开实施方案
2014/03/09 职场文书
鸿星尔克广告词
2014/03/21 职场文书
消防工作实施方案
2014/06/09 职场文书
党员自我剖析材料
2014/08/31 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
golang中的空接口使用详解
2021/03/30 Python
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
python实现简单聊天功能
2021/07/07 Python