爬取url地址:https://pic.sogou.com/pics?query=動物
分析:
分析url地址:每頁25條數(shù)據,共計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參數(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的網頁
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('動物')
image.parse()
審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
python
+關注
關注
55文章
4767瀏覽量
84375 -
爬蟲
+關注
關注
0文章
82瀏覽量
6813
發(fā)布評論請先 登錄
相關推薦
PCB設計中的爬電距離:確保電路板安全可靠
一站式PCBA智造廠家今天為大家講講什么是PCB設計爬電距離?PCB設計爬電距離的重要性。在電子制造業(yè)中,PCB設計是至關重要的一環(huán)。而在PCB設計中,爬電距離是一個關鍵概念,直接關系到電路板
如何理解PCB設計的爬電距離?
一站式PCBA智造廠家今天為大家講講PCB設計爬電距離要求與走線規(guī)則有哪些?PCB設計爬電距離要求與走線規(guī)則。在PCB設計中,爬電距離和走線規(guī)則是關鍵的考慮因素,尤其是在高壓電路和高頻電路的設計中
QFN爬錫不好如何解決?—SMT錫膏
QFN封裝的芯片IC,側面引腳爬錫是個大難題,經常會遇到一些客戶反饋:qfn爬錫不好怎么解決?qfn芯片引腳標準上錫高度如何確定?qfn側面不爬錫?下面由深圳佳金源錫膏廠家來講解一下:一、QFN錫膏
爬電距離是根據什么確定的
爬電距離(Creepage Distance)是指在電氣設備中,兩個導體之間沿絕緣材料表面的距離。它是一個重要的電氣參數(shù),用于評估電氣設備在正常工作和故障條件下的絕緣性能。爬電距離的確定涉及到多個
爬電距離用什么檢測設備
爬電距離是指在電氣設備中,不同電位的導體之間,通過絕緣材料隔離的最短距離。爬電距離的檢測對于確保電氣設備的安全運行至關重要。本文將介紹爬電距離的檢測設備及其使用方法。 一、
爬電距離與電壓的對應關系
爬電距離(Creepage Distance)是電氣設備中的一個重要概念,它指的是在絕緣材料表面,沿著絕緣體表面或邊緣,從帶電部分到接地部分或不同電位部分之間的最短距離。爬電距離的大小直接影響
視覺分析中,二值化與灰度圖片的數(shù)據傳導問題
求助大佬,視覺分析中,需要做Profile分析,如圖,怎么讓Profile以灰度圖片分析。(圖中是以二值化圖片做的
發(fā)表于 04-08 17:26
鴻蒙HarmonyOS引用圖片的方法
前言 Image通過調用接口來創(chuàng)建,接口調用形式如下: ? Image(src: string | Resource | media.PixelMap) ? 該接口通過圖片數(shù)據源獲取圖片
爬電距離和電氣間隙的區(qū)別
爬電距離和電氣間隙的區(qū)別? 爬電距離和電氣間隙是電力系統(tǒng)中兩個重要的概念,它們在電力設備的設計、運行和維護中起著關鍵的作用。本文將詳細解釋這兩個概念的含義、區(qū)別以及它們在電力系統(tǒng)中的應用。 首先
什么是電氣間隙,什么是爬電距離,PCB為什么要開槽?
什么是電氣間隙,什么是爬電距離,PCB為什么要開槽? 電氣間隙是指在電氣設備或電路中,兩個相鄰的電極之間的最短距離。它主要用于防止因電氣設備或電路元件之間的電荷遷移而引起的電氣擊穿。電氣間隙的大小
評論