Python爬虫实现爬取京东手机页面的图片(实例代码)
更新时间:2017年11月30日 10:15:13 作者:可豆豆
下面小编就为大家分享一篇Python爬虫实现爬取京东手机页面的图片实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
实例如下所示:
__author__ = 'Fred Zhao' import requests from bs4 import BeautifulSoup import os from urllib.request import urlretrieve class Picture(): def __init__(self): self.headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36'} self.base_url = 'https://list.jd.com/list.html?cat=9987,653,655&page=' self.base_path = os.path.dirname(__file__) def makedir(self, name): path = os.path.join(self.base_path, name) isExist = os.path.exists(path) if not isExist: os.makedirs(path) print("File has been created.") else: print('OK!The file is existed. You do not need create a new one.') os.chdir(path) def request(self, url): r = requests.get(url, headers=self.headers) return r def get_img(self, page): r = self.request(self.base_url + str(page)) plist = BeautifulSoup(r.text, 'lxml').find('div', id='plist') item = plist.find_all('li', class_='gl-item') print(len(item)) self.makedir('pictures') num = 0 for i in item: num += 1 imglist = i.find('div', class_='p-img') print(num) img = imglist.find('img') print('This is %s picture' %num) if img.get('src'): url = 'https:' + img.get('src') fileName = img.get('src').split('/')[-1] urlretrieve(url, filename=fileName) elif img.get('data-lazy-img'): url = 'https:' + img.get('data-lazy-img') fileName = img.get('data-lazy-img').split('/')[-1] urlretrieve(url, filename=fileName) if __name__ == '__main__': picture = Picture() for i in range(2): #控制爬取的页数 picture.get_img(i+1)
以上这篇Python爬虫实现爬取京东手机页面的图片(实例代码)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Python pycharm读取文件相对路径与绝对路径的方法
这篇文章主要给大家介绍了关于Python pycharm读取文件相对路径与绝对路径的方法,绝对路径就是文件的真正存在的路径,是指从硬盘的根目录(盘符)开始,进行一级级目录指向文件,相对路径就是以当前文件为基准进行一级级目录指向被引用的资源文件,需要的朋友可以参考下2023-12-12Python Asyncio中Coroutines,Tasks,Future可等待对象的关系及作用
这篇文章主要介绍了Python Asyncio中Coroutines,Tasks,Future可等待对象的关系及作用,文章围绕主题展开详细的内容介绍,需要的小伙伴可以参考一下2022-06-06Python3.6 Schedule模块定时任务(实例讲解)
下面小编就为大家带来一篇Python3.6 Schedule模块定时任务(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-11-11
最新评论