首页 > 编程 > Python > 正文

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

2020-01-04 16:13:36
字体:
来源:转载
供稿:网友

实例如下所示:

__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爬虫实现爬取京东手机页面的图片(实例代码)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表