本例程使用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)

图片的命名为商品的名称,京东商品图片地址的属性很可能会有所变动,所以大家进行编写的时候应该举一反三,灵活运用!

这是我下载下来的手机类图片文件的截图:

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

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

python爬取京东商品图片_python利用urllib实现爬取京东网站商品图片的爬虫实例相关推荐

  1. python爬取百度地图数据_Python利用百度地图爬取商家信息

    import requests import json import pandas as pd def request_hospital_data(): ak="换成自己的 AK" ...

  2. Aurigma图片上传程序是为您的网站的图片上传解决方案

    Aurigma图片上传程序是为您的网站的图片上传解决方案 Aurigma图片上传器是一个强大和灵活的图像,并且可以在许多不同类型的网站可以使用文件上传的解决方案.除了影像外,任何其他文件类型也可以上传 ...

  3. python爬取豆瓣书籍_Python利用lxml模块爬取豆瓣读书排行榜的方法与分析

    前言 上次使用了BeautifulSoup库爬取电影排行榜,爬取相对来说有点麻烦,爬取的速度也较慢.本次使用的lxml库,我个人是最喜欢的,爬取的语法很简单,爬取速度也快. 本次爬取的豆瓣书籍排行榜的 ...

  4. Cookie登录爬取实战:Python 利用urllib库的cookie实现网站登录并抓取

    1 环境:Python 3 +urllib库 实战网站:http://www.mjzcnd.com/  梅江之春论坛网站 2 背景: 现在许多网站都需要登录后才能访问某个页面,在登陆之前,我们是没有权 ...

  5. python requests下载图片_Python使用urllib库、requests库下载图片的方法比较

    我们知道,使用Python制作一个爬虫程序,requests库是一个不错的选择,requests发送网络请求非常简单,比较使用urllib库,使用requests库可以大大减少代码量,它还可以定制请求 ...

  6. python字典通讯录_Python利用字典将两个通讯录文本合并为一个文本实例

    本文实例主要实现的是利用字典将两个通讯录文本合并为一个文本,具体代码如下: def main(): ftele1=open("d:\TeleAddressBook.txt",&qu ...

  7. python删除图片_python小应用之删光你的珍藏图片

    前几天打开手机相册发现自己相册里面居然有一万多张图片,一个一个选择删除真是删烦了, 所以自己做了一个小应用来帮我. 也许你会说为什么不导入到电脑上进行删除,没办法我就是想整点不一样的,学了python ...

  8. 解决水晶报表中动态加载的图片或利用水晶报表创建的图表不显示图片的方法

    开发水晶报表时在利用其创建图表时在IIS服务器图片不显示,解决方法如下: 在解决方案资源管理器->web项目-->右键 属性页,把多余的 引用 移除就可以了(注意版本),例如VS2005版 ...

  9. 商品sku算法php,笛卡尔乘积-电商网站商品sku组合算法应用

    笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员. 利用笛卡尔乘积 ...

最新文章

  1. vue中 静态文件引用注意事项
  2. vscode同步设置扩展插件
  3. CS231n 2016 通关 第三章-SVM 作业分析
  4. java自学语法_Java自学笔记(一):基础知识
  5. 开发日记-20190820 关键词 读书笔记《Unix环境高级编程(第二版)》DAY 1
  6. 找出一批正整数中的最大偶数_正整数的性质 B6,C1
  7. shopee虾皮科技测试工程师第一次笔试
  8. MogoH5+基于Hbuilder做ios真机测试
  9. 关于印象笔记“本笔记只能查看。它是从另一笔记创建的”
  10. mac docker mysql_Mac操作系统上使用Docker创建MySQL主从数据库
  11. 使用 JS刷新框架子页面
  12. 论文阅读笔记(二)——Xception
  13. My97DatePicker 演示和文档
  14. 小白都能了解的聚类算法之四(谱聚类)
  15. webpack和 php配合,javascript - webpack和laravel-elixir-webpack的正确配合方式?
  16. 大数据-----数据采集
  17. android http上传,Android HttpClient上传文件(亲测,成功)
  18. 两平面间8参数变换参数求解简单原理解析(已更新间接平差算法)
  19. WPF Blend 自定义控件
  20. Tilera吴晓东:2013年要做成三百多个核

热门文章

  1. Java集合ArrayList
  2. 福师计算机应用基础离线作业一答案,18秋福师《计算机应用基础》在线作业一答案...
  3. 100内奇数之和流程图_Python进阶记录之基础篇(四)
  4. 这些屌毛总是给订阅号发x图,连夜肝了一个微信订阅号鉴黄机器人抵御~
  5. Java之枚举----小试牛刀练习
  6. c++输出的值精确到小数点后5位_七年级上册第一章有理数专讲专练(适合暑期预习后巩固)...
  7. 上传到docker hub_docker 创建image上传到 docker hub并下载
  8. LeetCode 45跳跃游戏46全排列
  9. ext-4.2之grid的高级应用:增删改查!
  10. Java的数组集合概括