一、下載下傳AtomLLA免費資源網
1.官網:Atom官網LLA免費資源網
2.打開這個網頁,可以看到Atom針對于作業系統Windows7或以上的版本LLA免費資源網
LLA免費資源網
3.下載下傳完成,輕按兩下exeLLA免費資源網
LLA免費資源網
4.加載界面LLA免費資源網
LLA免費資源網
二、Atom安裝Python相關元件LLA免費資源網
1.檢查Python庫支援LLA免費資源網
(1)Settings裡先檢視一下是否有Python支援,部落客這裡因為安裝了Python庫是以顯示DisableLLA免費資源網
LLA免費資源網
(2)點選這個包名我們還可以到網頁上檢視這個包的相關資訊LLA免費資源網
LLA免費資源網
2.安裝Python的适合Atom的IDE、UI、Server和運作工具LLA免費資源網
(1)打開cmd,運作以下指令安裝python-language-serverLLA免費資源網
pip install python-language-server[all]
安裝成功顯示這個界面:LLA免費資源網
LLA免費資源網
(2)安裝支援各種語言IDE的UI界面,+Install裡搜尋atom-ide-uiLLA免費資源網
atom-ide-ui
如圖所示LLA免費資源網
LLA免費資源網
(3)同理,安裝ide-python:LLA免費資源網
ide-python
LLA免費資源網
(4)最後最重要的,安裝運作工具atom-python-run:LLA免費資源網
LLA免費資源網
其中按F5是運作,F6是暫停~LLA免費資源網
LLA免費資源網
(5)最終下載下傳的包可以在這個檔案裡看到C:\Users\你的電腦使用者名字\.atom\packagesLLA免費資源網
LLA免費資源網
*三、運作代碼範例LLA免費資源網
1.我這裡以我的Python實作爬取下載下傳百度圖檔為例:Python實作爬取下載下傳百度圖檔LLA免費資源網
2.打開這個項目,菜單欄裡點選File->Add Project FolderLLA免費資源網
LLA免費資源網
3.Atom裡打開這個download_picture.py(以杉原杏璃為關鍵字)LLA免費資源網
# coding=utf-8
"""
@author:nickhuang1996
"""
import re
import sys
import urllib
import requests
import os
import cv2
from glob import glob
import time
def getPage(keyword, times, page_number, pic_type):
page = times * page_number#time每一次加一
keyword = urllib.parse.quote(keyword, safe='/')#對含有特殊符号的URL進行編碼,使其轉換為合法的url字元串。中文則轉換為數字,符号和字母的組合
#print(keyword)
url_begin = "http://image.baidu.com/search/" + pic_type + "?tn=baiduimage&ie=utf-8&word="#pic_type
url = url_begin + keyword + "&pn=" +str(page)
return url
def get_onepage_urls(onepageurl):
try:
html = requests.get(onepageurl).text
except Exception as e:
print(e)
pic_urls = []
return pic_urls
pic_urls = re.findall('"objURL":"(.*?)",', html, re.S)#index是30個圖檔的連結,flip是60個
print("一共有{}個圖檔連結".format(len(pic_urls)))
return pic_urls
def download_pic(pic_urls, keyword, save_path):
#給出圖檔連結清單, 下載下傳所有圖檔
print("去除了重複的圖檔下載下傳數量為:{}".format(len(pic_urls)))
print("\n開始下載下傳...")
start_time = time.time()
for i, pic_url in enumerate(pic_urls):
try:
pic = requests.get(pic_url, timeout=5)
string = save_path + '/' + str(i + 1) + '.jpg'
with open(string, '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
end_time = time.time()-start_time
print("下載下傳結束,耗時:{:.0f}m {:.0f}s...".format(end_time // 60, end_time % 60))
if __name__ == '__main__':
keyword = '杉原杏璃' # 關鍵詞, 改為你想輸入的詞即可, 相當于在百度圖檔裡搜尋一樣
save_path = './baidu_download/' + keyword
if not os.path.exists(save_path):
os.mkdir(save_path)
#參數設定
times = 0
#圖檔參數類型
pic_type = "flip"#"flip"/"index"
print("圖檔連結關鍵字為:{}".format(pic_type))
page_number = 20#flip時為60,index時為30則不會有緩存
total_times = 3#請求總次數
"""
如果page_number為20,則百度圖檔每頁顯示20張圖檔,是以對于flip形式每頁會多緩存(60-20=40)張,index形式每頁會多緩存(30-20=10)張,
是以,請求4次的話:
flip應該是 20 × 4 + (60 - 20) = 120張圖檔,而不是60×4 = 240
index應該是 20 × 4 + (30 - 20) = 90張圖檔,而不是30×4 = 120
示意圖:
flip index
0 ________ ______ 0
| | | |
| 20 | | 20 | 10
| | | |
20 |______|______ |______|______ 20
| | | |
| 20 | _|_ 20 | 30
| | | |
40 |______|______ |______|______ 40
| | | | |
| | 20 | _|_ 20 | 50
| | | | |
60 _|_ |______|______ |______|______ 60
| | | | |
| | 20 | _|_ 20 | 70
| | | | |
80 _|_ |______| |______| 80
| | |
| | _|_ 90
| |
100 _|_ |
|
|
|
120 _|_
說白了,就是擷取了重複的圖檔
可以通過調節page_number變量檢視
"""
all_pic_urls = []
while 1:#死循環
if times > total_times:
break
print("第{}次請求資料".format(times + 1))
url=getPage(keyword, times, page_number, pic_type)#輸入參數:關鍵詞,開始的頁數,總頁數
print(url)#列印連結
onepage_urls= get_onepage_urls(url)#index是30個圖檔的連結,flip是60個
times += 1#頁數加1
if onepage_urls != 0:
all_pic_urls.extend(onepage_urls)#清單末尾一次性追加另一個序列中的多個值
#print("将要下載下傳的圖檔數量變為:{}".format(len(all_pic_urls)))
print("下載下傳的圖檔總量變為:{}".format(len(all_pic_urls)))
download_pic(list(set(all_pic_urls)),keyword, save_path)#set去除重複的元素(連結)
效果如下(可以看到很多警告,也支援ctrl+滑鼠通路函數和變量):LLA免費資源網
LLA免費資源網
4.我們點選F5,可以看到程式運作成功!!LLA免費資源網
LLA免費資源網
LLA免費資源網
是不是用這個IDE也很不錯呢~LLA免費資源網