不管你是待業(yè)還是失業(yè),在這個(gè)被互聯(lián)網(wǎng)圍繞的時(shí)代里,選擇python3爬蟲源碼,就多了一項(xiàng)技能,還怕找不到工作?,還怕不好找工作?小編就來告訴你這個(gè)專業(yè)的優(yōu)勢到底體現(xiàn)在哪里:23個(gè)Python爬蟲開源項(xiàng)目代碼:爬取微信、淘寶、豆瓣、知乎、微博等,Python爬蟲實(shí)戰(zhàn),完整的思路和步驟(附源碼),python各類爬蟲經(jīng)典案例,爬到你手軟!,初學(xué)python到什么程度能熟練寫出爬蟲代碼,小白學(xué)python爬蟲:3.頁面源碼中找不到數(shù)據(jù)???。
1.23個(gè)Python爬蟲開源項(xiàng)目代碼:爬取微信、淘寶、豆瓣、知乎、微博等
今天為大家整理了32個(gè)Python爬蟲項(xiàng)目。整理的原因是,爬蟲入門簡單快速,也非常適合新入門的小伙伴培養(yǎng)信心,所有鏈接指向GitHub。1、 – 微信公眾號爬蟲基于搜狗微信搜索的微信公眾號爬蟲接口,可以擴(kuò)展成基于搜狗搜索的爬蟲,返回結(jié)果是列表,每一項(xiàng)均是公眾號具體信息字典。github地址: – 豆瓣讀書爬蟲可以爬下豆瓣讀書標(biāo)簽下的所有圖書,按評分排名依次存儲,存儲到Excel中,可方便大家篩選搜羅,比如篩選評價(jià)人數(shù)>1000的高分書籍;可依據(jù)不同的主題存儲到Excel不同的Sheet ,采用User Agent偽裝為瀏覽器進(jìn)行爬取,并加入隨機(jī)延時(shí)來更好的模仿瀏覽器行為,避免爬蟲被封。github地址: – 知乎爬蟲此項(xiàng)目的功能是爬取知乎用戶信息以及人際拓?fù)潢P(guān)系,爬蟲框架使用scrapy,數(shù)據(jù)存儲使用地址: – Bilibili用戶爬蟲總數(shù)據(jù)數(shù):20119918,抓取字段:用戶id,昵稱,性別,頭像,等級,經(jīng)驗(yàn)值,粉絲數(shù),生日,地址,注冊時(shí)間,簽名,等級與經(jīng)驗(yàn)值等。抓取之后生成B站用戶數(shù)據(jù)報(bào)告。github地址: – 新浪微博爬蟲主要爬取新浪微博用戶的個(gè)人信息、微博信息、粉絲和關(guān)注。代碼獲取新浪微博Cookie進(jìn)行登錄,可通過多賬號登錄來防止新浪的反扒。主要使用 scrapy 爬蟲框架。github地址: – 小說下載分布式爬蟲使用scrapy,Redis, MongoDB,graphite實(shí)現(xiàn)的一個(gè)分布式網(wǎng)絡(luò)爬蟲,底層存儲MongoDB集群,分布式使用Redis實(shí)現(xiàn),爬蟲狀態(tài)顯示使用graphite實(shí)現(xiàn),主要針對一個(gè)小說站點(diǎn)。github地址: – *知網(wǎng)爬蟲設(shè)置檢索條件后,執(zhí)行src/.py抓取數(shù)據(jù),抓取數(shù)據(jù)存儲在/data目錄下,每個(gè)數(shù)據(jù)文件的*行為字段名稱。github地址: – 鏈家網(wǎng)爬蟲爬取北京地區(qū)鏈家歷年二手房成交記錄。涵蓋鏈家爬蟲一文的全部代碼,包括鏈家模擬登錄代碼。github地址: – 京東爬蟲基于scrapy的京東網(wǎng)站爬蟲,保存格式為csv。github地址: – QQ 群爬蟲批量抓取 QQ 群信息,包括群名稱、群號、群人數(shù)、群主、群簡介等內(nèi)容,最終生成 XLS(X) / CSV 結(jié)果文件。github地址: *–* 烏云爬蟲烏云公開漏洞、知識庫爬蟲和搜索。全部公開漏洞的列表和每個(gè)漏洞的文本內(nèi)容存在MongoDB中,大概約2G內(nèi)容;如果整站爬全部文本和圖片作為離線查詢,大概需要10G空間、2小時(shí)(10M電信帶寬);爬取全部知識庫,總共約500M空間。漏洞搜索使用了Flask作為web server,bootstrap作為前端。 – hao123網(wǎng)站爬蟲以hao123為入口頁面,滾動爬取外鏈,收集網(wǎng)址,并記錄網(wǎng)址上的內(nèi)鏈和外鏈數(shù)目,記錄title等信息,windows7 32位上測試,目前每24個(gè)小時(shí),可收集數(shù)據(jù)為10萬左右 – 機(jī)票爬蟲(去哪兒和攜程網(wǎng))Findtrip是一個(gè)基于Scrapy的機(jī)票爬蟲,目前整合了國內(nèi)兩大機(jī)票網(wǎng)站(去哪兒 + 攜程)。 – 基于requests、MySQLdb、torndb的網(wǎng)易客戶端內(nèi)容爬蟲 – 豆瓣電影、書籍、小組、相冊、東西等爬蟲集 – QQ空間爬蟲包括日志、說說、個(gè)人信息等,一天可抓取 400 萬條數(shù)據(jù) – 百度mp3全站爬蟲使用redis支持?jǐn)帱c(diǎn)續(xù)傳 – 淘寶和天貓的爬蟲可以根據(jù)搜索關(guān)鍵詞,物品id來抓去頁面的信息,數(shù)據(jù)存儲在mongodb。 – 一個(gè)股票數(shù)據(jù)(滬深)爬蟲和選股策略根據(jù)選定的日期范圍抓取所有滬深兩市股票的行情數(shù)據(jù)。支持使用表達(dá)式定義選股策略。支持多線程處理。保存數(shù)據(jù)到JSON文件、CSV文件。 – 百度云盤爬蟲 – 社交數(shù)據(jù)爬蟲支持微博,知乎,豆瓣。 pool – Python爬蟲代理IP池(proxy pool) – 爬取網(wǎng)易云音樂所有歌曲的評論
2.Python爬蟲實(shí)戰(zhàn),完整的思路和步驟(附源碼)
前言小的時(shí)候心中總有十萬個(gè)為什么類似的問題,今天帶大家爬取一個(gè)問答類的網(wǎng)站。本堂課使用正則表達(dá)式對文本類的數(shù)據(jù)進(jìn)行提取,正則表達(dá)式是數(shù)據(jù)提取的通用方法。環(huán)境介紹:python 3.爬蟲的一般思路1、確定爬取的url路徑,headers參數(shù)2、發(fā)送請求 -- requests 模擬瀏覽器發(fā)送請求,獲取響應(yīng)數(shù)據(jù)3、解析數(shù)據(jù) -- re模塊:提供全部的正則表達(dá)式功能4、保存數(shù)據(jù) -- 保存json格式的數(shù)據(jù)完整步驟:1、安裝庫和導(dǎo)入模塊如果沒有安裝庫的,可以WIN+R,然后輸入cmd,*輸入代碼安裝pip install requests安裝完成后可以輸入代碼查看你安裝過所有的庫:pip list導(dǎo)入模塊import requests import re import json2、確定爬取的url路徑,headers參數(shù)base_url = ' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) /537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}3、發(fā)送請求 -- requests 模擬瀏覽器發(fā)送請求,獲取響應(yīng)數(shù)據(jù)response = requests.get(base_url, headers=headers) data = response.text4、解析數(shù)據(jù) -- re模塊:提供全部的正則表達(dá)式功能href=" 預(yù)編譯的代碼對象比直接使用字符串要快,因?yàn)榻忉屍髟趫?zhí)行字符串形式的代碼前都必須把字符串編譯成代碼對象pattern = re.compile('
(.*?)
', re.S) pattern_list = pattern.findall(data) # -->list # json [{[]}]{} # 構(gòu)建json數(shù)據(jù)格式 data_list = [] for i in pattern_list: data_dict = {} data_dict['title'] = i[1] data_dict['href'] = i[0] data_list.append(data_dict)5、保存json格式的文件with open("guoke01.json", 'w', encoding='utf-8') as f: f.write(json_data_list)6.構(gòu)建一個(gè)循環(huán)爬取for page in range(1, 101): print("====正在爬取第{}業(yè)數(shù)據(jù)====\n".format(page))優(yōu)化代碼,把page傳遞進(jìn)去base_url = ' = []*運(yùn)行代碼,效果如下圖:喜歡的朋友歡迎關(guān)注小編,除了分享技術(shù)文章之外還有很多福利,私信“資料”可以領(lǐng)取包括不限于Python實(shí)戰(zhàn)演練、PDF電子文檔、面試集錦、學(xué)習(xí)資料等。3.python各類爬蟲經(jīng)典案例,爬到你手軟!
小編整理了一些爬蟲的案例,代碼都整理出來了~先來看看有哪些項(xiàng)目呢:python爬蟲小工具(文件下載助手)爬蟲實(shí)戰(zhàn)(筆趣看小說下載)爬蟲實(shí)戰(zhàn)(VIP視頻下載)爬蟲實(shí)戰(zhàn)(百度文庫文章下載)爬蟲實(shí)戰(zhàn)(《帥啊》網(wǎng)帥哥圖片下載)爬蟲實(shí)戰(zhàn)(構(gòu)建代理IP池)爬蟲實(shí)戰(zhàn)(《火影忍者》漫畫下載)爬蟲實(shí)戰(zhàn)(財(cái)務(wù)報(bào)表下載小助手)爬蟲實(shí)戰(zhàn)(抖音App視頻下載)爬蟲實(shí)戰(zhàn)(GEETEST驗(yàn)證碼破解)爬蟲實(shí)戰(zhàn)(12306搶票小助手)爬蟲實(shí)戰(zhàn)(百萬英雄答題輔助系統(tǒng))爬蟲實(shí)戰(zhàn)(網(wǎng)易云音樂批量下載)爬蟲實(shí)戰(zhàn)(B站視頻和彈幕批量下載)爬蟲實(shí)戰(zhàn)(京東商品曬單圖下載)爬蟲實(shí)戰(zhàn)(正方教務(wù)管理系統(tǒng)爬蟲)怎么樣?是不是迫不及待的想自己動手試試了呢?在學(xué)習(xí)中有迷茫不知如何學(xué)習(xí)的朋友小編推薦一個(gè)學(xué)Python的學(xué)習(xí)q u n 227 -435- 450可以來了解一起進(jìn)步一起學(xué)習(xí)!免費(fèi)分享視頻資料爬蟲小工具文件下載小助手一個(gè)可以用于下載圖片、視頻、文件的小工具,有下載進(jìn)度顯示功能。稍加修改即可添加到自己的爬蟲中。代碼展示:爬蟲實(shí)戰(zhàn)《筆趣看》盜版小說網(wǎng)站,爬取小說工具第三方依賴庫安裝:pip3 install 使用方法:python biqukan.py代碼展示:愛奇藝等主流視頻網(wǎng)站的VIP視頻破解助手(暫只支持PC和手機(jī)在線觀看VIP視頻!)運(yùn)行源碼需要搭建Python3環(huán)境,并安裝相應(yīng)第三方依賴庫:pip3 install -r .txt使用方法:python movie_.py運(yùn)行環(huán)境:Windows, , , Python3代碼展示:百度文庫word文章爬取代碼不完善,沒有進(jìn)行打包,不具通用性,純屬娛樂,以后有時(shí)間會完善。代碼展示:爬取《帥啊》網(wǎng),帥哥圖片運(yùn)行平臺: 版本: Python3.xIDE: Sublime text3為了也能夠?qū)W習(xí)到新知識,本次爬蟲教程使用requests第三方庫,這個(gè)庫可不是Python3內(nèi)置的urllib.request庫,而是一個(gè)強(qiáng)大的基于urllib3的第三方庫。代碼展示:構(gòu)建代理IP池代碼展示:使用Scrapy爬取《火影忍者》漫畫代碼可以爬取整個(gè)《火影忍者》漫畫所有章節(jié)的內(nèi)容,保存到本地。更改地址,可以爬取其他漫畫。保存地址可以在代碼中修改。代碼展示:《王者榮耀》推薦出裝查詢小助手網(wǎng)頁爬取已經(jīng)會了,想過爬取手機(jī)APP里的內(nèi)容嗎?代碼展示:財(cái)務(wù)報(bào)表下載小助手爬取的數(shù)據(jù)存入數(shù)據(jù)庫會嗎?《跟股神巴菲特學(xué)習(xí)炒股之財(cái)務(wù)報(bào)表入庫(MySQL)》也許能給你一些思路。代碼展示:抖音App視頻下載抖音App的視頻下載,就是普通的App爬取。代碼展示:GEETEST驗(yàn)證碼破解爬蟲*的敵人之一是什么?沒錯(cuò),驗(yàn)證碼!Geetest作為提供驗(yàn)證碼服務(wù)的行家,市場占有率還是蠻高的。遇到Geetest提供的滑動驗(yàn)證碼怎么破?授人予魚不如授人予漁,接下來就為大家呈現(xiàn)本教程的精彩內(nèi)容。代碼展示:用Python搶火車票簡單代碼可以自己慢慢豐富,蠻簡單,有爬蟲基礎(chǔ)很好操作。代碼展示:baiwan:百萬英雄輔助答題看了網(wǎng)上很多的教程都是通過OCR識別的,這種方法的優(yōu)點(diǎn)在于通用性強(qiáng)。不同的答題活動都可以參加,但是缺點(diǎn)也明顯,速度有限,并且如果通過調(diào)用第三方OCR,有次數(shù)限制。但是使用本教程提到的數(shù)據(jù)接口。我們能很容易的獲取數(shù)據(jù),速度快,但是接口是變化的,需要及時(shí)更新。代碼展示:功能介紹:服務(wù)器端,使用Python(baiwan.py)通過抓包獲得的接口獲取答題數(shù)據(jù),解析之后通過百度知道搜索接口匹配答案,將最終匹配的結(jié)果寫入文件(file.txt)。Node.js(app.js)每隔1s讀取一次file.txt文件,并將讀取結(jié)果通過 bilibili.py -d 貓 -k 貓 -p 10三個(gè)參數(shù):-d保存視頻的文件夾名-kB站搜索的關(guān)鍵字-p下載搜索結(jié)果前多少頁京東商品曬單圖下載使用說明:python jd.py -k 芒果三個(gè)參數(shù):-d保存圖片的路徑,默認(rèn)為fd.py文件所在文件夾-k搜索關(guān)鍵詞-n 下載商品的曬單圖個(gè)數(shù),即n個(gè)商店的曬單圖代碼展示:對正方教務(wù)管理系統(tǒng)個(gè)人課表,學(xué)生成績,績點(diǎn)等簡單爬取依賴環(huán)境python 3.6python庫http請求:requests,urllib數(shù)據(jù)提?。簉e,lxml,bs4存儲相關(guān):os,sys驗(yàn)證碼處理:PIL下載安裝在終端輸入如下命令:git clone git@github.com:Jack-Cherish/python-spider.git使用方法安裝依賴包pip install -r .txt運(yùn)行在當(dāng)前目錄下輸入:cd zhengfang_system_ spider.py運(yùn)行爬蟲,按提示輸入學(xué)校教務(wù)網(wǎng),學(xué)號,密碼,輸入驗(yàn)證碼稍等幾秒鐘,當(dāng)前ZhengFang_System_Spider文件夾下就會生成zhengfang.txt個(gè)人課表,成績績點(diǎn)均已保存到該文本文件中代碼展示:
4.初學(xué)python到什么程度能熟練寫出爬蟲代碼
看你對爬蟲的熟悉度了。我以前用java寫過,之后學(xué)python,兩天之內(nèi)看api就能寫出Python版的了。如果完全不知道爬蟲原理,那就慢了,如果還沒別的編程語言的經(jīng)驗(yàn),那更慢了。
5.小白學(xué)python爬蟲:3.頁面源碼中找不到數(shù)據(jù)?
這篇文章是基于我的上兩篇文章而來,如果你還沒有相關(guān)的基礎(chǔ)知識(html,http),可以看一下:小白學(xué)python爬蟲:1找到數(shù)據(jù)小白學(xué)python爬蟲:2獲得數(shù)據(jù)我在*篇文章中說到我們要爬的數(shù)據(jù)都是“嵌入”在源碼中的,但是大家爬的網(wǎng)站慢慢多起來的時(shí)候,會發(fā)現(xiàn)我說的不對啊。怎么死活找不到目標(biāo)數(shù)據(jù)呢?下面我?guī)Т蠹乙黄鹱咭槐槟切┠晡也冗^的坑:異步加載 用于在后臺與服務(wù)器交換數(shù)據(jù)。這意味著可以在不重新加載整個(gè)網(wǎng)頁的情況下,對網(wǎng)頁的某部分進(jìn)行更新。ps:聽名字覺得很高大上,但其實(shí)異步加載在一般情況下是比抓取頁面源代碼中的要簡單一些可能你看了定義還是不太明白,沒關(guān)系,我來舉栗子:當(dāng)年我學(xué)會爬簡單的網(wǎng)頁后,覺得自己牛B哄哄,沒什么能夠阻止我的爬蟲直到我被這個(gè)網(wǎng)頁給教育了: requests url = ' r = requests.get(url,headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) /537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36'}) r.status_code from lxml import etree html = r.content.decode(r.encoding) tree = etree.HTML(html) tree.xpath("http://tr[@class='ng-scope']/td[@class='ng-binding']/a/text()")然鵝結(jié)果是:r.status_code Out[427]: 200 tree.xpath("http://tr[@class='ng-scope']/td[@class='ng-binding']/a/text()") Out[431]: []在我反復(fù)的確認(rèn)了我的xpath沒寫錯(cuò)后,我開始懷疑人生。。。懷疑我前面所學(xué)的知識:數(shù)據(jù)不都是在源碼里面的嗎???!我只能這樣在經(jīng)過搜索后才直到有一種技術(shù)叫異步加載,它能夠在不刷新原網(wǎng)頁的情況下通過一些特定的操作來觸發(fā)刷新一部分頁面,比如上面我舉得那個(gè)例子,你可以通過點(diǎn)擊選項(xiàng)卡來選擇展示不同的數(shù)據(jù),大家刷知乎(網(wǎng)頁版)的時(shí)候也是通過下滑頁面得到新的回答:關(guān)于異步加載的原理我就不在這里說了(因?yàn)槲乙膊恢溃?,下面告訴大家如何抓取異步加載的數(shù)據(jù)。#如何抓取異步加載的數(shù)據(jù)打開‘開發(fā)者工具’-‘network’-‘XHR’,因?yàn)槲疫@個(gè)頁面的特定操作是切換選項(xiàng)卡,所以在打開network監(jiān)控后,我們開始切換一下選項(xiàng)卡:出來了個(gè).json的東西,點(diǎn)進(jìn)去看看perview:ps:perview就是服務(wù)器返回的數(shù)據(jù)的一個(gè)瀏覽模式,而它右邊的response是服務(wù)器返回的數(shù)據(jù)的真實(shí)面目沒錯(cuò),這個(gè)就是我們的目標(biāo)數(shù)據(jù)了,那么我們應(yīng)該訪問哪個(gè)網(wǎng)址,或者說訪問服務(wù)器上的哪個(gè)位置才能得到這份數(shù)據(jù)呢?接下來我們切換到headers選項(xiàng)卡:沒錯(cuò),已經(jīng)找到url了,接下來的就簡單多了,我直接給出所有代碼:import requests url = ' r = requests.get(url,headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) /537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36'}) r.status_code import json rawData = json.loads(r.content)#返回字典 oppTeam = rawData['payload']['player']['stats'][''][0]['profile']['']['code'] oppTeam r.status_code Out[4]: 200 oppTeam Out[10]: 'cavaliers'我解析這個(gè)字典的方法可能有些粗魯,有更優(yōu)雅方法的同學(xué)可以在評論區(qū)告訴我總結(jié)的來說,如果是通過一些特定的操作(點(diǎn)擊,下拉等)刷新出來的數(shù)據(jù),十有八九都是異步加載出來的,而你只要打開network,選擇XHR再在網(wǎng)頁上執(zhí)行這些特定的操作,你就能監(jiān)測到異步加載返回的數(shù)據(jù)(下文會稱作為“XHR對象”)然后查看headers得到url多的不說,再來實(shí)戰(zhàn)一波:我們的目標(biāo)網(wǎng)址: String ,專業(yè)的解釋是:Query String 指的就是通過在URL中攜帶的方式提交的參數(shù)按照我自己的理解就是把一些要告訴服務(wù)器的信息轉(zhuǎn)成一定的碼值代入到url中,服務(wù)器得到這個(gè)url后會解碼,然后得到這些信息并返回相應(yīng)的資源。最常見的就是百度了,比如我們百度一下‘帥逼’:你可以看到‘?’后面就有你搜索的關(guān)鍵詞在這次實(shí)戰(zhàn)中,我們可以在headers中看到這個(gè)Query String 那么問題來了,怎么把這些參數(shù)轉(zhuǎn)碼呢?我直接給出代碼:raw_para = '''include: data[*].is_normal,admin_closed_comment,reward_info,is_collapsed,_action,_detail,collapse_reason,is_sticky,collapsed_by,suggest_edit,comment_count,can_comment,content,editable_content,voteup_count,_settings,comment_,created_time,updated_time,review_info,relevant_info,question,excerpt,.is_,is_author,voting,is_thanked,is_nothelp;data[*].mark_infos[*].url;data[*].author.follower_count,badge[?(type=best_answerer)].topics limit: 5 offset: 0 sort_by: default''' para = {}#參數(shù)要求傳入字典 for each in raw_para.split('\n'): key,value = each.split(':',1) para[key] = value.replace(" ","")#去除多余空格 import requests r = requests.get(url,headers=header,cookies=cookies,params=para)#headers和cookies在我的上一篇文章說到過怎么設(shè)置 r.url#查看添加了參數(shù)后的url具體結(jié)果我就不再這里貼出來了(因?yàn)閼校?,有問題的同學(xué)可以在評論區(qū)問我。細(xì)心的同學(xué)會發(fā)現(xiàn),這個(gè)XHR對象里只包含了5條回答啊,那我們怎么獲得全部的回答呢?沒錯(cuò),就是在每次get之前,更改參數(shù)中的這個(gè)值。什么?你是怎么知道的?我會告訴你我是看名稱猜出來的嗎?以上看完你還愣著干嘛,快點(diǎn)贊?。?###################### 2021/11/27更新 ##########################關(guān)于*的例子我可能在Query String 這部分沒有講清楚,我們再看看要訪問的URL" "?" 前的這部分當(dāng)做是一個(gè)函數(shù)" "參數(shù)1&參數(shù)2&參數(shù)3.."的參數(shù)函數(shù)和參數(shù)的關(guān)系相信大家都能夠理解。在上面的情景中,每個(gè)數(shù)據(jù)包只包含了5條評論。我們?nèi)绾蔚玫剿械脑u論呢?對于一個(gè)函數(shù),如果你想要得到不同的結(jié)果,當(dāng)然是需要更改傳入的參數(shù)。那么我們的問題就變成了要怎么更改參數(shù)呢?在上例中,offset這個(gè)值就代表了從哪條評論開始。比如說當(dāng)offset是1時(shí),你得到的評論數(shù)就是*到第五條(limit值規(guī)定每次返回的評論數(shù)為5條)當(dāng)offset是6時(shí),你得到的評論數(shù)就是第六到第十條以此類推。。。如果你要問我是怎么知道的,大部分真的是靠猜的,或者你也可以觀察每個(gè)評論數(shù)據(jù)包的Query String 的哪些值發(fā)生了變化搞定這個(gè)后,剩下的問題就是如何將這些參數(shù)“傳入”函數(shù)中?Requests包的中文官方文檔 中的“傳遞URL參數(shù)”有詳細(xì)的講解我們只需要將參數(shù)轉(zhuǎn)成字典,在requests.get中將字典傳給參數(shù)params即可。文檔示例相應(yīng)的代碼在上方已經(jīng)給出,大家可以試試看自己構(gòu)造出來的是否與原來的URL一致。以上
就拿大數(shù)據(jù)說話,優(yōu)勢一目了然,從事IT行業(yè),打開IT行業(yè)的新大門,找到適合自己的培訓(xùn)機(jī)構(gòu),進(jìn)行專業(yè)和系統(tǒng)的學(xué)習(xí)。