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爬虫实现爬取京东手机页面的图片(实例代码)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。
教女朋友学Python3(二)简单的输入输出及内置函数查看 原创
这是第二天了,工作之余和女朋友一起学Python3,代码都是她敲的,有点辣眼睛,仅做参考。1.题目:输入姓名,输出你好,姓名有关安装和打开Pythonshell
Python实现按特定格式对文件进行读写的方法示例
本文实例讲述了Python实现按特定格式对文件进行读写的方法。分享给大家供大家参考,具体如下:#!/usr/bin/envpython#coding=utf-8classResultFile(object):def__init__(se
Python实现的多线程同步与互斥锁功能示例
本文实例讲述了Python实现的多线程同步与互斥锁功能。分享给大家供大家参考,具体如下:#!/usr/bin/envpython#coding=utf-8importthreadingimporttime'''#1、不加锁num=0
