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字符串中查找子串小技巧
Apr 10 Python
python使用socket创建tcp服务器和客户端
Apr 12 Python
python实现猜单词小游戏
May 22 Python
python版本单链表实现代码
Sep 28 Python
解决Pycharm界面的子窗口不见了的问题
Jan 17 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
Feb 21 Python
python获取点击的坐标画图形的方法
Jul 09 Python
如何用Python绘制3D柱形图
Sep 16 Python
python实现录音功能(可随时停止录音)
Oct 26 Python
如何在 Matplotlib 中更改绘图背景的实现
Nov 26 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
Nov 28 Python
python状态机transitions库详解
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
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
php如何实现只替换一次或N次
2015/10/29 PHP
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
分享12个非常实用的JavaScript小技巧
2016/05/11 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
vue全局使用axios的方法实例详解
2018/11/22 Javascript
nodejs通过钉钉群机器人推送消息的实现代码
2019/05/05 NodeJs
JS面向对象之多选框实现
2020/01/17 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
2020/09/11 Javascript
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
python笔记(1) 关于我们应不应该继续学习python
2012/10/24 Python
Python实现多线程抓取妹子图
2015/08/08 Python
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
Python工程师面试必备25条知识点
2018/01/17 Python
对Python3中的input函数详解
2018/04/22 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
python实现静态web服务器
2019/09/03 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
2019/11/29 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
New Balance美国官网:运动鞋和健身服装
2017/04/11 全球购物
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
浙大网新C/C++面试解惑
2015/05/27 面试题
清明节扫墓活动方案
2014/03/02 职场文书
优质服务演讲稿
2014/05/14 职场文书
2014年六一儿童节演讲稿
2014/05/23 职场文书
小学教代会开幕词
2016/03/04 职场文书
python 单机五子棋对战游戏
2022/04/28 Python