百度图片爬虫,爬取高清图片
生活随笔
收集整理的這篇文章主要介紹了
百度图片爬虫,爬取高清图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在做深度學習研究與應用的時候,經常需要爬取樣本,例如,超分辨率重建,實際的訓練與產品應用中,你需要爬取一些高清的圖片,下面提供一個簡單的爬蟲:
# coding=utf-8 import re import sys import urllib import os import requestsdef get_onepage_urls(onepageurl):if not onepageurl:print('執行結束')return [], ''try:html = requests.get(onepageurl).textexcept Exception as e:print(e)pic_urls = []fanye_url = ''return pic_urls, fanye_urlpic_urls = re.findall('"objURL":"(.*?)",', html, re.S)fanye_urls = re.findall(re.compile(r'<a href="(.*)" class="n">下一頁</a>'), html, flags=0)fanye_url = 'http://image.baidu.com' + fanye_urls[0] if fanye_urls else ''fanye_url = fanye_url + "&z=9" #z=9表示爬取特大尺寸return pic_urls, fanye_urldef down_pic(pic_urls,localPath):print ("need download:%d" % len(pic_urls))if not os.path.exists(localPath): #os.mkdir(localPath)"""給出圖片鏈接列表, 下載圖片"""for i, pic_url in enumerate(pic_urls):try:pic = requests.get(pic_url, timeout=30)string = str(i + 1) + '.jpg'with open(os.path.join(localPath,'%d.jpg' % i), 'wb')as f:f.write(pic.content)print('成功下載第%s張圖片: %s' % (str(i + 1), str(pic_url)))except Exception as e:print('下載第%s張圖片時失敗: %s' % (str(i + 1), str(pic_url)))print(e)continue if __name__ == '__main__':keyword = sys.argv[1] # 關鍵詞, 改為你想輸入的詞即可url_init_first = r'http://image.baidu.com/search/flip?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1497491098685_R&pv=&ic=0&nc=1&z=9&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&ctd=1497491098685%5E00_1519X735&word='url_init = url_init_first + urllib.parse.quote(keyword, safe='/')all_pic_urls = []onepage_urls, fanye_url = get_onepage_urls(url_init)all_pic_urls.extend(onepage_urls)fanye_count = 1 # 圖片所在頁數,下載完后調整這里就行while 1:onepage_urls, fanye_url = get_onepage_urls(fanye_url)fanye_count += 1print('第%s頁' % fanye_count)if fanye_url == '' and onepage_urls == []:breakall_pic_urls.extend(onepage_urls)print ("need download:%d" % len(all_pic_urls))down_pic(list(set(all_pic_urls)),os.path.join('./image/'+sys.argv[1]))#保存位置也可以修改運行環境需要python3支持。
總結
以上是生活随笔為你收集整理的百度图片爬虫,爬取高清图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人类附身机器人获得永生_2045年人类将
- 下一篇: 雷库兹韦尔量子计算机,熬到2045年,人