python

超轻量级php框架startmvc

Python爬虫实现爬取京东手机页面的图片(实例代码)

更新时间:2020-05-12 11:36:01 作者:startmvc
实例如下所示:__author__='FredZhao'importrequestsfrombs4importBeautifulSoupimportosfromurllib.requestimporturlret

实例如下所示:


__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 爬虫 爬取 京东 手机页面 图片