Python爬蟲實(shí)現(xiàn)爬取京東手機(jī)頁(yè)面的圖片(實(shí)例代碼)
實(shí)例如下所示:
__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): #控制爬取的頁(yè)數(shù)
picture.get_img(i+1)
以上這篇Python爬蟲實(shí)現(xiàn)爬取京東手機(jī)頁(yè)面的圖片(實(shí)例代碼)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python 實(shí)現(xiàn)手機(jī)自動(dòng)撥打電話的方法(通話壓力測(cè)試)
- Python正則匹配判斷手機(jī)號(hào)是否合法的方法
- python使用itchat實(shí)現(xiàn)手機(jī)控制電腦
- Python實(shí)現(xiàn)自動(dòng)上京東搶手機(jī)
- Python隨機(jī)生成手機(jī)號(hào)、數(shù)字的方法詳解
- Python爬蟲抓取手機(jī)APP的傳輸數(shù)據(jù)
- python實(shí)現(xiàn)發(fā)送和獲取手機(jī)短信驗(yàn)證碼
- 手機(jī)使用python操作圖片文件(pydroid3)過(guò)程詳解
相關(guān)文章
Python+Pyecharts實(shí)現(xiàn)散點(diǎn)圖的繪制
散點(diǎn)圖是指在回歸分析中,數(shù)據(jù)點(diǎn)在直角坐標(biāo)系平面上的分布圖,散點(diǎn)圖表示因變量隨自變量而變化的大致趨勢(shì),據(jù)此可以選擇合適的函數(shù)對(duì)數(shù)據(jù)點(diǎn)進(jìn)行擬合。本文將利用Python Pyecharts實(shí)現(xiàn)散點(diǎn)圖的繪制,需要的可以參考一下2022-06-06
windows環(huán)境中利用celery實(shí)現(xiàn)簡(jiǎn)單任務(wù)隊(duì)列過(guò)程解析
這篇文章主要介紹了windows環(huán)境中利用celery實(shí)現(xiàn)簡(jiǎn)單任務(wù)隊(duì)列過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
Python調(diào)用JavaScript代碼的幾種方法小結(jié)
日常Web端爬蟲過(guò)程中,經(jīng)常會(huì)遇到參數(shù)被加密的場(chǎng)景,因此,我們需要分析網(wǎng)頁(yè)源代碼通過(guò)調(diào)式,一層層剝離出關(guān)鍵的JS代碼,使用Python去執(zhí)行這段代碼,本文將聊聊利用 Python 調(diào)用 JS 的4種方式,需要的朋友可以參考下2024-12-12
解決pycharm導(dǎo)入numpy包的和使用時(shí)報(bào)錯(cuò):RuntimeError: The current Numpy ins
這篇文章主要介紹了解決pycharm導(dǎo)入numpy包的和使用時(shí)報(bào)錯(cuò):RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
Python標(biāo)準(zhǔn)庫(kù)之typing的用法(類型標(biāo)注)
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)之typing的用法(類型標(biāo)注),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
python 爬蟲一鍵爬取 淘寶天貓寶貝頁(yè)面主圖顏色圖和詳情圖的教程
今天小編就為大家分享一篇python 爬蟲一鍵爬取 淘寶天貓寶貝頁(yè)面主圖顏色圖和詳情圖的教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
python中單例常用的幾種實(shí)現(xiàn)方法總結(jié)
Python 的模塊就是天然的單例模式,下面這篇文章主要給大家介紹了關(guān)于python中單例常用的幾種實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python單例具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們一起來(lái)看看吧2018-10-10
python監(jiān)控windows服務(wù)器的進(jìn)程和服務(wù)
這篇文章主要為大家詳細(xì)介紹了如何使用python監(jiān)控windows服務(wù)器的進(jìn)程和服務(wù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-04-04

