通過本案例解析ajax請求返回的信息下載圖片
爬取url地址:https://pic.sogou.com/pics?query=動物
分析:
分析url地址:每頁25條數據,共計10頁
第1頁:https://pic.sogou.com/napi/pc/searchList?mode=1&start=0&xml_len=48&query=動物
第2頁:https://pic.sogou.com/napi/pc/searchList?mode=1&start=48&xml_len=48&query=動物
第3頁:https://pic.sogou.com/napi/pc/searchList?mode=1&start=96&xml_len=48&query=動物
通過分析得出請求改變start參數就可以改變頁數
具體實現代碼:
import requests
import os
class ImageSougou(object):
url = 'https://pic.sogou.com/napi/pc/searchList'
save_dir = './sougou' # 文件保存的路徑
count = 0
# 初始化
def __init__(self, word):
self.word = word
self.dir_path = os.path.join(self.save_dir, word)
self.params = {
'query': word,
'mode': '1',
'start': '0',
'xml_len': 48,
}
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36',
}
# 創建保存圖片的文件夾
self.folder_exist(self.dir_path)
self.last_img_url = ''
self.current_page = 0
# 請求包含圖片url的網頁
def parse(self):
while True:
self.params['start'] = str(self.current_page*48)
response = requests.get(url=self.url, headers=self.headers, params=self.params)
response.encoding='utf8'
data = response.json()['data']['items']
if data:
for img_info in data:
img_url = img_info['picUrl']
self.download(img_url)
self.current_page += 1
else:
break
# 下載一張圖片
def download(self, img_url, img_type='jpg'):
self.count += 1
print('正在下載第%d張圖片...'%self.count, img_url)
try:
response = requests.get(img_url)
except Exception as e:
print('下載失敗:', img_url)
return None
img_name = img_url.split('/')[-1]
img_path = os.path.join(self.dir_path, img_name)
try:
with open(img_path, 'wb') as f:
f.write(response.content)
except Exception as e:
print('下載失敗:', img_url)
def folder_exist(self, dir_path):
'''
1. 作用:判斷文件夾路徑是否存在,不存在則創建
2. 參數:dir_path:文件夾路徑
3. 返回值:None
'''
if not os.path.exists(dir_path):
os.makedirs(dir_path)
if __name__ == '__main__':
image = ImageSougou('動物')
image.parse()
審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
python
+關注
關注
57文章
4876瀏覽量
90025 -
爬蟲
+關注
關注
0文章
87瀏覽量
8091
發布評論請先 登錄
相關推薦
熱點推薦
京東圖片搜索API深度解析:以圖搜貨賦能電商全場景
京東圖片搜索API 是京東開放平臺提供的一項基于圖像識別技術的視覺搜索服務,能夠通過上傳圖片或圖片URL,在京東海量商品庫中精準匹配外觀、功能相似的商品,并返回結構化商品
爬壁機器人磁鐵的一些常見問題
爬壁機器人近幾年比較火,它是一類能夠在垂直墻面、天花板、傾斜表面上移動和作業的特種機器人,今天我們不聊其它,只聊下關于磁吸附應用中的磁鐵,以下是小編整理的關于爬壁機器人中磁鐵的一些常見問題。
京東關鍵詞搜索商品列表的Python爬蟲實戰
京東關鍵詞搜索商品列表 Python 爬蟲實戰 你想要實現京東關鍵詞搜索商品的爬蟲,我會從 合規聲明、環境準備、頁面分析、代碼實現、反爬優化 五個方面展開,幫助你完成實戰項目。 一、前置聲明(重要
淘寶圖片搜索商品API指南
一、摘要 淘寶圖片搜索商品API是基于圖像識別技術的智能搜索接口,允許用戶通過上傳商品圖片來搜索相似或同款商品。該接口廣泛應用于比價、找同款、商品識別等電商場景。 二、接口概述 1.功能特性
中信數科-華為“商業聯合創新中心”正式揭牌
【中國,杭州,2025年10月22日】中信數科-華為“商業聯合創新中心”揭牌儀式在杭州舉行。中信數科黨委書記、董事長張繼勝,網絡運營總監鄭軍,華為副總裁、ISP與互聯網軍團CEO岳坤,華為政企光領域
淘寶天貓商品評論數據爬取技術方案(附 python 代碼)
一、摘要 淘寶天貓商品評論API是淘寶開放平臺提供的核心數據接口,用于獲取指定商品的用戶評價信息,包括評分、內容、曬圖、追評等數據。該接口廣泛應用于電商數據分析、競品監控、用戶反饋挖掘等場景,支持
“爬電距離”與“電氣間隙”是怎樣計算的?
之間的最短路徑。 電氣間隙 在兩個導電零部件之間或導電零部件與設備防護界面之間測得的最短空間距離。 即在保證電氣性能穩定和安全的情況下,通過空氣能實現絕緣的最短距離。 一般來說,爬電距離要求的數值比電氣間隙要求的數
小鵬汽車與中信銀行達成戰略合作
近日,小鵬汽車與中信銀行在廣州舉行戰略合作簽約儀式,小鵬汽車副董事長兼聯席總裁顧宏地與中信銀行廣州分行行長薛鋒慶共同出席,并代表雙方簽訂戰略合作協議。
電氣間隙與爬電距離的相關設計
眾所周知,48V相較12V電壓上升,因此需要更大的爬電距離(安全絕緣路徑)和電氣間隙(安全絕緣間距)。這意味著部分連接器需要重新設計。
FLIR ONE Edge Pro紅外熱像儀在爬寵飼養中的應用
在爬寵飼養中,溫度控制是決定寵物健康與幸福的關鍵因素。無論是巴西龜、蜥蜴還是蛇類,它們依賴外部熱源調節體溫,稍有不慎就可能導致健康問題。今天,我們就通過一位爬寵主人的真實案例,看看FLIR ONE Edge Pro智能紅外熱像儀
TRCX應用:顯示面板電容指紋分析
在大尺寸面板上掃描指紋是捕捉指紋上脊谷間的電容差異。為了加快計算執行速度,通過分布式計算對仿真區域進行劃分,并自動合并為包含指紋信息的結果。工程師可以通過快速精確的仿真算法,根據布局結果分析
發表于 06-17 08:54
流速儀檢定車同步電機調速的瞬態過程分析
,但負載變化會引起同步轉速下功率角的擺動。針對不同性質的負載對同步轉連的影響,通過分析同步電機瞬態過程特性,并結合反饋控制電路實驗,得出利用反饋控制提高同步電機瞬態過程特性的結論。
純分享帖,需要者可點
發表于 06-10 13:05
鴻蒙開發實現圖片上傳(上傳用戶頭像)
應用場景:
選擇圖片
1.1. 添加圖片到相冊中
默認的相冊中無法添加圖片:windows 模擬器可以通過截圖來添加圖片
1.2. 選擇相冊
發表于 05-24 23:09
新能源汽車驅動電機專利信息分析
采用Thomson Innovation專利檢索分析平臺搜集整理驅動電機相關專利,通過分析國內外驅動電機專利的 申請時間趨勢、國別分布、申請人排名、技術熱點分布以及國內專利省市分布,了解國內外驅動
發表于 03-21 13:39
格陸博科技榮登投中信息2024年度銳公司100榜單
近日,投中信息重磅發布2024年度“銳公司100榜單”,格陸博科技憑借在智能駕駛領域的突出表現和強勁發展勢頭,再度成功入選!這也是格陸博科技連續第二年獲此殊榮!
通過分析ajax中信息爬取圖片
評論