Atom運行Python的安裝配置步驟和代碼范例詳解


一.下載Atom

下載地址:https://atom.io/ 系統需win7以上版本(也可選擇下載其他平台嘗試)

 

下載完成后雙擊打開Atomsetup-x64.exe后程序開始安裝

 

安裝界面

 

 

 

 

 

二.檢索可用的python組件

A ----在設置(Settings)里面Pakages查詢是否有python組建,點擊Install(安裝),安裝完成后顯示Disable(禁用)

 

 

 點擊Language-python 0.53.3可以查看組件的相關信息

B--安裝合適IDE UI Server和運行工具

打開cmd運行下面命令安(pip install python-language-server[all])裝python-language-server

 

安裝完成會有Successful字樣的提示

 

 

 

C--安裝Atom中支持多種語言的UI界面

檢索atom-ide-ui安裝,安裝方法如同圖所示,步驟同上

 

D--安裝IDE(集成開發環境(IDE,Integrated Development Environment )是用於提供程序開發環境的應用程序,一般包括代碼編輯器、編譯器、調試器和圖形用戶界面等工具。)

 

 

 

 

 

 E--最后安裝運行工具

 

 

 

 

 

 

 

 

 點擊setting查看,快捷鍵F5運行  F6暫停

安裝包所在位置:C:\Users\Administrator\.atom\packages

 

三.運行代碼范例

1.python爬取百度圖片

 

 

 

# 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去除重復的元素(鏈接)
 

源碼在csdn

關鍵函數urllib.parse相關函數得到關鍵字字符串,re.findall,圖片的存儲

Python學習使用手冊https://docs.python.org/3/(講解很詳細),學習一個工具最好是看官方文檔,一點沒錯!

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM