通過本案例解析ajax請求返回的信息下載圖片
爬取url地址:https://pic.sogou.com/pics?query=動(dòng)物
分析:
分析url地址:每頁25條數(shù)據(jù),共計(jì)10頁
第1頁:https://pic.sogou.com/napi/pc/searchList?mode=1&start=0&xml_len=48&query=動(dòng)物
第2頁:https://pic.sogou.com/napi/pc/searchList?mode=1&start=48&xml_len=48&query=動(dòng)物
第3頁:https://pic.sogou.com/napi/pc/searchList?mode=1&start=96&xml_len=48&query=動(dòng)物
通過分析得出請求改變start參數(shù)就可以改變頁數(shù)
具體實(shí)現(xiàn)代碼:
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',
}
# 創(chuàng)建保存圖片的文件夾
self.folder_exist(self.dir_path)
self.last_img_url = ''
self.current_page = 0
# 請求包含圖片url的網(wǎng)頁
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. 作用:判斷文件夾路徑是否存在,不存在則創(chuàng)建
2. 參數(shù):dir_path:文件夾路徑
3. 返回值:None
'''
if not os.path.exists(dir_path):
os.makedirs(dir_path)
if __name__ == '__main__':
image = ImageSougou('動(dòng)物')
image.parse()
審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86769 -
爬蟲
+關(guān)注
關(guān)注
0文章
83瀏覽量
7508
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
FLIR ONE Edge Pro紅外熱像儀在爬寵飼養(yǎng)中的應(yīng)用
在爬寵飼養(yǎng)中,溫度控制是決定寵物健康與幸福的關(guān)鍵因素。無論是巴西龜、蜥蜴還是蛇類,它們依賴外部熱源調(diào)節(jié)體溫,稍有不慎就可能導(dǎo)致健康問題。今天,我們就通過一位爬寵主人的真實(shí)案例,看看FLIR ONE Edge Pro智能紅外熱像儀
TRCX應(yīng)用:顯示面板電容指紋分析
在大尺寸面板上掃描指紋是捕捉指紋上脊谷間的電容差異。為了加快計(jì)算執(zhí)行速度,通過分布式計(jì)算對(duì)仿真區(qū)域進(jìn)行劃分,并自動(dòng)合并為包含指紋信息的結(jié)果。工程師可以通過快速精確的仿真算法,根據(jù)布局結(jié)果分析
發(fā)表于 06-17 08:54
流速儀檢定車同步電機(jī)調(diào)速的瞬態(tài)過程分析
,但負(fù)載變化會(huì)引起同步轉(zhuǎn)速下功率角的擺動(dòng)。針對(duì)不同性質(zhì)的負(fù)載對(duì)同步轉(zhuǎn)連的影響,通過分析同步電機(jī)瞬態(tài)過程特性,并結(jié)合反饋控制電路實(shí)驗(yàn),得出利用反饋控制提高同步電機(jī)瞬態(tài)過程特性的結(jié)論。
純分享帖,需要者可點(diǎn)
發(fā)表于 06-10 13:05
新能源汽車驅(qū)動(dòng)電機(jī)專利信息分析
采用Thomson Innovation專利檢索分析平臺(tái)搜集整理驅(qū)動(dòng)電機(jī)相關(guān)專利,通過分析國內(nèi)外驅(qū)動(dòng)電機(jī)專利的 申請時(shí)間趨勢、國別分布、申請人排名、技術(shù)熱點(diǎn)分布以及國內(nèi)專利省市分布,了解國內(nèi)外驅(qū)動(dòng)
發(fā)表于 03-21 13:39
格陸博科技榮登投中信息2024年度銳公司100榜單
近日,投中信息重磅發(fā)布2024年度“銳公司100榜單”,格陸博科技憑借在智能駕駛領(lǐng)域的突出表現(xiàn)和強(qiáng)勁發(fā)展勢頭,再度成功入選!這也是格陸博科技連續(xù)第二年獲此殊榮!
集成電路設(shè)計(jì)中靜態(tài)時(shí)序分析介紹
Analysis,STA)是集成電路設(shè)計(jì)中的一項(xiàng)關(guān)鍵技術(shù),它通過分析電路中的時(shí)序關(guān)系來驗(yàn)證電路是否滿足設(shè)計(jì)的時(shí)序要求。與動(dòng)態(tài)仿真不同,STA不需要模擬電路的實(shí)際運(yùn)行過程,而是通過分析電路中的各個(gè)時(shí)鐘路徑、信號(hào)傳播延遲等信息來評(píng)
什么是爬電距離與電氣間隙?
義爬電距離,可形象理解為一螞蟻沿絕緣材料表面從一導(dǎo)電部件爬至另一導(dǎo)電部件所經(jīng)最短路徑。它涉及兩個(gè)導(dǎo)電部件間沿絕緣材料表面測量的最短空間距離,這一距離的設(shè)定需綜合考量電氣設(shè)備的額定電壓、絕緣材料的耐泄

中偉視界:礦山智能分析平臺(tái)通過分級(jí)管理報(bào)警信息,結(jié)合電話、短信通知,提高安全隱患響應(yīng)速度
隨著礦山行業(yè)對(duì)安全管理的要求不斷提高,智能分析平臺(tái)中的報(bào)警等級(jí)管理成為保障礦工生命安全的重要措施。通過電話與短信的有效結(jié)合,能夠快速、精準(zhǔn)地響應(yīng)各類安全隱患,實(shí)現(xiàn)信息的及時(shí)傳遞。礦山企業(yè)應(yīng)重視標(biāo)準(zhǔn)化流程、選擇合適平臺(tái)和持續(xù)優(yōu)化反
中信建投建議關(guān)注端側(cè)AI模組機(jī)會(huì)
中信建投近日發(fā)布的研報(bào)指出,隨著OpenAI的ChatGPT功能全面接入蘋果設(shè)備,包括iPhone、iPad和Mac,端側(cè)AI產(chǎn)業(yè)的發(fā)展正在加速。這一趨勢為AI模組市場帶來了新的機(jī)遇。 據(jù)研報(bào)分析
中國中車與中信銀行深化戰(zhàn)略合作
與中信集團(tuán)及中信銀行的合作關(guān)系,雙方將在既有合作基礎(chǔ)上,持續(xù)推動(dòng)“立新服務(wù)”的深入實(shí)施。通過加強(qiáng)金融業(yè)務(wù)模式的創(chuàng)新,共同探索特色產(chǎn)業(yè)鏈金融的發(fā)展路徑,中國中車集團(tuán)與中信銀行將攜手打造更
TPA3110D2如何設(shè)置通過分壓設(shè)置PLIMT呢?
TPA3110D2的TINA模型,未找到GVDD,該如何設(shè)置通過分壓設(shè)置PLIMT呢
發(fā)表于 09-29 07:49
PCB設(shè)計(jì)中的爬電距離:確保電路板安全可靠
一站式PCBA智造廠家今天為大家講講什么是PCB設(shè)計(jì)爬電距離?PCB設(shè)計(jì)爬電距離的重要性。在電子制造業(yè)中,PCB設(shè)計(jì)是至關(guān)重要的一環(huán)。而在PCB設(shè)計(jì)中,爬電距離是一個(gè)關(guān)鍵概念,直接關(guān)系到電路板
如何理解PCB設(shè)計(jì)的爬電距離?
一站式PCBA智造廠家今天為大家講講PCB設(shè)計(jì)爬電距離要求與走線規(guī)則有哪些?PCB設(shè)計(jì)爬電距離要求與走線規(guī)則。在PCB設(shè)計(jì)中,爬電距離和走線規(guī)則是關(guān)鍵的考慮因素,尤其是在高壓電路和高頻電路的設(shè)計(jì)中
評(píng)論