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中用Ctrl+C终止多线程程序的问题解决
Mar 30 Python
python使用mysqldb连接数据库操作方法示例详解
Dec 03 Python
python两种遍历字典(dict)的方法比较
May 29 Python
Python中设置变量作为默认值时容易遇到的错误
Apr 03 Python
详解Python中for循环的使用
Apr 14 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
python组合无重复三位数的实例
Nov 13 Python
Python编写合并字典并实现敏感目录的小脚本
Feb 26 Python
python celery分布式任务队列的使用详解
Jul 08 Python
基于Python快速处理PDF表格数据
Jun 03 Python
Python生成随机验证码代码实例解析
Jun 09 Python
python_tkinter事件类型详情
Mar 20 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文章按日期(月日)SQL归档语句
2012/11/29 PHP
php把大写命名转换成下划线分割命名
2015/04/27 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
2013/11/14 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
JS中事件冒泡和事件捕获介绍
2016/12/13 Javascript
初探nodeJS
2017/01/24 NodeJs
React复制到剪贴板的示例代码
2017/08/22 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
TensorFlow saver指定变量的存取
2018/03/10 Python
python中scikit-learn机器代码实例
2018/08/05 Python
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
python 决策树算法的实现
2020/10/09 Python
html5适合移动应用开发的12大特性
2014/03/19 HTML / CSS
CHARLES & KEITH英国官网:新加坡时尚品牌
2018/07/04 全球购物
泰国在线书店:SE-ED
2020/06/21 全球购物
2014年党支部书记工作总结
2014/12/04 职场文书
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫