爬取url地址:https://pic.sogou.com/pics?query=動物
分析:
分析url地址:每頁25條數(shù)據(jù),共計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的網(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('動物')
image.parse()
審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
python
+關(guān)注
關(guān)注
56文章
4807瀏覽量
85037 -
爬蟲
+關(guān)注
關(guān)注
0文章
82瀏覽量
7006
發(fā)布評論請先 登錄
相關(guān)推薦
什么是爬電距離與電氣間隙?
義爬電距離,可形象理解為一螞蟻沿絕緣材料表面從一導(dǎo)電部件爬至另一導(dǎo)電部件所經(jīng)最短路徑。它涉及兩個導(dǎo)電部件間沿絕緣材料表面測量的最短空間距離,這一距離的設(shè)定需綜合考量電氣設(shè)備的額定電壓、絕緣材料的耐泄
中偉視界:礦山智能分析平臺通過分級管理報警信息,結(jié)合電話、短信通知,提高安全隱患響應(yīng)速度
隨著礦山行業(yè)對安全管理的要求不斷提高,智能分析平臺中的報警等級管理成為保障礦工生命安全的重要措施。通過電話與短信的有效結(jié)合,能夠快速、精準(zhǔn)地響應(yīng)各類安全隱患,實現(xiàn)信息的及時傳遞。礦山企業(yè)應(yīng)重視標(biāo)準(zhǔn)化流程、選擇合適平臺和持續(xù)優(yōu)化反
中信建投建議關(guān)注端側(cè)AI模組機會
中信建投近日發(fā)布的研報指出,隨著OpenAI的ChatGPT功能全面接入蘋果設(shè)備,包括iPhone、iPad和Mac,端側(cè)AI產(chǎn)業(yè)的發(fā)展正在加速。這一趨勢為AI模組市場帶來了新的機遇。 據(jù)研報分析
中國中車與中信銀行深化戰(zhàn)略合作
與中信集團及中信銀行的合作關(guān)系,雙方將在既有合作基礎(chǔ)上,持續(xù)推動“立新服務(wù)”的深入實施。通過加強金融業(yè)務(wù)模式的創(chuàng)新,共同探索特色產(chǎn)業(yè)鏈金融的發(fā)展路徑,中國中車集團與中信銀行將攜手打造更
TPA3110D2如何設(shè)置通過分壓設(shè)置PLIMT呢?
TPA3110D2的TINA模型,未找到GVDD,該如何設(shè)置通過分壓設(shè)置PLIMT呢
發(fā)表于 09-29 07:49
如何理解PCB設(shè)計的爬電距離?
一站式PCBA智造廠家今天為大家講講PCB設(shè)計爬電距離要求與走線規(guī)則有哪些?PCB設(shè)計爬電距離要求與走線規(guī)則。在PCB設(shè)計中,爬電距離和走線規(guī)則是關(guān)鍵的考慮因素,尤其是在高壓電路和高頻電路的設(shè)計中
QFN爬錫不好如何解決?—SMT錫膏
QFN封裝的芯片IC,側(cè)面引腳爬錫是個大難題,經(jīng)常會遇到一些客戶反饋:qfn爬錫不好怎么解決?qfn芯片引腳標(biāo)準(zhǔn)上錫高度如何確定?qfn側(cè)面不爬錫?下面由深圳佳金源錫膏廠家來講解一下:一、QFN錫膏
爬電距離是根據(jù)什么確定的
爬電距離(Creepage Distance)是指在電氣設(shè)備中,兩個導(dǎo)體之間沿絕緣材料表面的距離。它是一個重要的電氣參數(shù),用于評估電氣設(shè)備在正常工作和故障條件下的絕緣性能。爬電距離的確定涉及到多個
爬電距離用什么檢測設(shè)備
爬電距離是指在電氣設(shè)備中,不同電位的導(dǎo)體之間,通過絕緣材料隔離的最短距離。爬電距離的檢測對于確保電氣設(shè)備的安全運行至關(guān)重要。本文將介紹爬電距離的檢測設(shè)備及其使用方法。 一、
爬電距離與電壓的對應(yīng)關(guān)系
爬電距離(Creepage Distance)是電氣設(shè)備中的一個重要概念,它指的是在絕緣材料表面,沿著絕緣體表面或邊緣,從帶電部分到接地部分或不同電位部分之間的最短距離。爬電距離的大小直接影響
視覺分析中,二值化與灰度圖片的數(shù)據(jù)傳導(dǎo)問題
求助大佬,視覺分析中,需要做Profile分析,如圖,怎么讓Profile以灰度圖片分析。(圖中是以二值化圖片做的
發(fā)表于 04-08 17:26
評論