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 相关文章推荐
使用python装饰器验证配置文件示例
Feb 24 Python
Python中使用第三方库xlutils来追加写入Excel文件示例
Apr 05 Python
pygame学习笔记(2):画点的三种方法和动画实例
Apr 15 Python
用Django实现一个可运行的区块链应用
Mar 08 Python
python 生成图形验证码的方法示例
Nov 11 Python
python之线程通过信号pyqtSignal刷新ui的方法
Jan 11 Python
python 定时器,轮询定时器的实例
Feb 20 Python
python3 反射的四种基本方法解析
Aug 26 Python
Python如何读写CSV文件
Aug 13 Python
PyTorch 导数应用的使用教程
Aug 31 Python
Django REST Framework 分页(Pagination)详解
Nov 30 Python
Python爬虫之自动爬取某车之家各车销售数据
Jun 02 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
php获取post中的json数据的实现方法
2011/06/08 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
php教程之phpize使用方法
2014/02/12 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
JQuery 确定css方框模型(盒模型Box Model)
2010/01/22 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
jquery简单的弹出层浮动层代码
2015/04/27 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
AngularJS 控制器 controller的详解
2017/10/17 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
详解JS实现简单的时分秒倒计时代码
2019/04/25 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
2020/11/03 Javascript
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
Python中自定义函数的教程
2015/04/27 Python
Python修改MP3文件的方法
2015/06/15 Python
Python 2.7中文显示与处理方法
2018/07/16 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
python word转pdf代码实例
2019/08/16 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
python将图片转base64,实现前端显示
2020/01/09 Python
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
50道外企软件测试面试题
2014/08/18 面试题
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
初中三年毕业生的自我评价分享
2014/02/14 职场文书
经济管理专业求职信
2014/06/09 职场文书
关于运动会广播稿50字
2014/10/18 职场文书
2016年习总书记讲话学习心得体会
2016/01/20 职场文书
餐厅开业活动方案
2019/07/08 职场文书
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers