实例如下所示:
__author__ = 'Fred Zhao' import requestsfrom bs4 import BeautifulSoupimport osfrom 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爬虫实现爬取京东手机页面的图片(实例代码)全部内容,希望文章能够帮你解决Python爬虫实现爬取京东手机页面的图片(实例代码)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)