本套教程及資料一鍵下載
在線學(xué)習(xí)-輔導(dǎo)-闖關(guān)-督學(xué)
10大專業(yè)全系列課程
與帥哥、美女同學(xué)共同進(jìn)步
系統(tǒng)化學(xué)習(xí),打造階梯學(xué)習(xí)
模式
第一天
01-爬蟲介紹 開始學(xué)習(xí) 02-爬蟲軟件的安裝 開始學(xué)習(xí) 03-第一個爬蟲 開始學(xué)習(xí) 04-Request對象的使用 開始學(xué)習(xí) 05-get請求的使用 開始學(xué)習(xí) 06-貼吧案例 開始學(xué)習(xí) 07-post請求的使用 開始學(xué)習(xí)第二天
08-ajax請求的抓取 開始學(xué)習(xí) 09-https請求的使用 開始學(xué)習(xí) 10-proxy的使用 開始學(xué)習(xí) 11-cookie的使用1 開始學(xué)習(xí) 12-cookie的使用2 開始學(xué)習(xí) 13-URLError的使用 開始學(xué)習(xí) 14-requests的使用 開始學(xué)習(xí)第三天
15-re的使用 開始學(xué)習(xí) 16-糗事百科案例.mp4 開始學(xué)習(xí) 17-BeautifulSoup的使用.mp4 開始學(xué)習(xí) 18-xpath的使用.mp4 開始學(xué)習(xí) 19-pyquery的使用.mp4 開始學(xué)習(xí) 20-jsonpath的使用.mp4 開始學(xué)習(xí)第四天
21-多線程的使用.mp4 開始學(xué)習(xí) 22-tesseract的使用.mp4 開始學(xué)習(xí) 23-云打碼平臺的使用.mp4 開始學(xué)習(xí) 24-云打碼登錄.mp4 開始學(xué)習(xí) 25-爬取圖文并茂文章方法.mp4 開始學(xué)習(xí) 26-selenium的使用.mp4 開始學(xué)習(xí)第五天
27-階段測試需求說明.mp4 開始學(xué)習(xí) 28-貓眼測試xpath的寫法.mp4 開始學(xué)習(xí) 29-貓眼測試bs4的寫法.mp4 開始學(xué)習(xí) 30-貓眼測試re的寫法.mp4 開始學(xué)習(xí) 31-貓眼測試pyquery的寫法.mp4 開始學(xué)習(xí) 32-ChromeDriver開啟無頭模式.mp4 開始學(xué)習(xí) 33-爬蟲復(fù)習(xí).mp4 開始學(xué)習(xí)第六天
34-虎牙直播練習(xí).mp4 開始學(xué)習(xí) 35-selenium滾動條的使用.mp4 開始學(xué)習(xí) 36-圖蟲圖片練習(xí).mp4 開始學(xué)習(xí) 37-雙色球練習(xí)數(shù)據(jù)下載.mp4 開始學(xué)習(xí) 38-雙色球練習(xí)保存數(shù)據(jù)庫.mp4 開始學(xué)習(xí) 39-雙色球練習(xí)數(shù)據(jù)更新.mp4 開始學(xué)習(xí) 40-爬蟲新寫法1.mp4 開始學(xué)習(xí) 41-爬蟲新寫法2.mp4 開始學(xué)習(xí)第七天
42-爬蟲的基本介紹.mp4 開始學(xué)習(xí) 43-爬蟲的基本使用.mp4 開始學(xué)習(xí) 44-爬蟲的數(shù)據(jù)提取.mp4 開始學(xué)習(xí) 45-scrapy中pipeline中的使用.mp4 開始學(xué)習(xí) 46-scrapy中settings的設(shè)置.mp4 開始學(xué)習(xí) 47-scrapy中細(xì)節(jié)問題.mp4 開始學(xué)習(xí) 48-scrapy爬取小說.mp4 開始學(xué)習(xí) 49-scrapy中crawlspider的使用.mp4 開始學(xué)習(xí)第八天
50-scrapy中ImagePipeline的使用.mp4 開始學(xué)習(xí) 51-scrapy中動態(tài)UA的使用.mp4 開始學(xué)習(xí) 52-scrapy中動態(tài)代理的使用.mp4 開始學(xué)習(xí) 53-scrapy登錄方式1.mp4 開始學(xué)習(xí)第九天
55-Mongo的使用.mp4 開始學(xué)習(xí) 56-Mongo的數(shù)據(jù)庫實例與集合的操作.mp4 開始學(xué)習(xí) 57-Mongo的數(shù)據(jù)基本操作(CRUD).mp4 開始學(xué)習(xí) 58-Mongo的數(shù)據(jù)查詢.mp4 開始學(xué)習(xí) 60-Scrapy中保存到數(shù)據(jù)庫.mp4 開始學(xué)習(xí)第十天
62-Splash的安裝.mp4 開始學(xué)習(xí) 61-Scrapy中調(diào)試的使用.mp4 開始學(xué)習(xí) 63-Splash如何打開服務(wù).mp4 開始學(xué)習(xí) 64-階段測試.mp4 開始學(xué)習(xí) 65-scrapy內(nèi)容補(bǔ)充.mp4 開始學(xué)習(xí)第十一天
66-splash與requests結(jié)合.mp4 開始學(xué)習(xí) 67-splash與scrapy的結(jié)合.mp4 開始學(xué)習(xí) 68-selenium與scrapy的結(jié)合.mp4 開始學(xué)習(xí) 69-某家內(nèi)容爬取-數(shù)據(jù)解析.mp4 開始學(xué)習(xí) 70-某家內(nèi)容爬取-數(shù)據(jù)保存.mp4 開始學(xué)習(xí)第十二天
71-scrapy-redis的介紹.mp4 開始學(xué)習(xí) 72-linux的安裝.mp4 開始學(xué)習(xí) 73-linux軟件安裝與克隆.mp4 開始學(xué)習(xí) 74-scrapy-redis的windows環(huán)境安裝.mp4 開始學(xué)習(xí) 75-scrapy_redis的寫法1.mp4 開始學(xué)習(xí) 76-scrapy_redis的寫法.mp4 開始學(xué)習(xí) 77-scrapy_redis的寫法2.mp4 開始學(xué)習(xí) 78-從redis中取出數(shù)據(jù)到Mongo數(shù)據(jù)庫.mp4 開始學(xué)習(xí)第十三天
0.1-Flask介紹與安裝.mp4 開始學(xué)習(xí) 0.2-Flask的路由設(shè)置與參數(shù)接收.mp4 開始學(xué)習(xí) 0.3-Flask的響應(yīng).mp4 開始學(xué)習(xí) 0.4-Flask與Echarts的結(jié)合使用.mp4 開始學(xué)習(xí) 番外1-51job需求與頁面分析.mp4 開始學(xué)習(xí) 番外2-51job頁面解析1.mp4 開始學(xué)習(xí) 番外3-51job頁面解析2.mp4 開始學(xué)習(xí) 番外4-51job保存到數(shù)據(jù)庫.mp4 開始學(xué)習(xí)1. 什么是爬蟲?
網(wǎng)絡(luò)爬蟲也叫網(wǎng)絡(luò)蜘蛛,如果把互聯(lián)網(wǎng)比喻成一個蜘蛛網(wǎng),那么蜘蛛就是在網(wǎng)上爬來爬去的蜘蛛,爬蟲程序通過請求url地址,根據(jù)響應(yīng)的內(nèi)容進(jìn)行解析采集數(shù)據(jù), 比如:如果響應(yīng)內(nèi)容是html,分析dom結(jié)構(gòu),進(jìn)行dom解析、或者正則匹配,如果響應(yīng)內(nèi)容是xml/json數(shù)據(jù),就可以轉(zhuǎn)數(shù)據(jù)對象,然后對數(shù)據(jù)進(jìn)行解析。
2. 有什么作用?
通過有效的爬蟲手段批量采集數(shù)據(jù),可以降低人工成本,提高有效數(shù)據(jù)量,給予運(yùn)營/銷售的數(shù)據(jù)支撐,加快產(chǎn)品發(fā)展。
3. 業(yè)界的情況
目前互聯(lián)網(wǎng)產(chǎn)品競爭激烈,業(yè)界大部分都會使用爬蟲技術(shù)對競品產(chǎn)品的數(shù)據(jù)進(jìn)行挖掘、采集、大數(shù)據(jù)分析,這是必備手段,并且很多公司都設(shè)立了爬蟲工程師的崗位
4. 合法性
爬蟲是利用程序進(jìn)行批量爬取網(wǎng)頁上的公開信息,也就是前端顯示的數(shù)據(jù)信息。因為信息是完全公開的,所以是合法的。其實就像瀏覽器一樣,瀏覽器解析響應(yīng)內(nèi)容并渲染為頁面,而爬蟲解析響應(yīng)內(nèi)容采集想要的數(shù)據(jù)進(jìn)行存儲。
5. 反爬蟲
爬蟲很難完全的制止,道高一尺魔高一丈,這是一場沒有硝煙的戰(zhàn)爭,碼農(nóng)VS碼農(nóng)
反爬蟲一些手段:
合法檢測:請求校驗(useragent,referer,接口加簽名,等)
小黑屋:IP/用戶限制請求頻率,或者直接攔截
投毒:反爬蟲高境界可以不用攔截,攔截是一時的,投毒返回虛假數(shù)據(jù),可以誤導(dǎo)競品決策
... ...
6. 選擇一門語言
爬蟲可以用各種語言寫, C++, Java都可以, 為什么要Python?
首先用C++搞網(wǎng)絡(luò)開發(fā)的例子不多(可能是我見得太少) 然后由于Oracle收購了Sun, Java目前雖然在Android開發(fā)上很重要, 但是如果Google官司進(jìn)展不順利, 那么很有可能用Go語言替代掉Java來做Android開發(fā). 在這計算機(jī)速度高速增長的年代里, 選語言都要看他爹的業(yè)績, 真是稍不注意就落后于時代. 隨著計算機(jī)速度的高速發(fā)展, 某種語言開發(fā)的軟件運(yùn)行的時間復(fù)雜度的常數(shù)系數(shù)已經(jīng)不像以前那么重要, 我們可以越來越偏愛為程序員打造的而不是為計算機(jī)打造的語言. 比如Ruby這種傳說中的純種而又飄逸的的OOP語言, 或者Python這種稍嚴(yán)謹(jǐn)而流行庫又非常多的語言, 都大大弱化了針對計算機(jī)運(yùn)行速度而打造的特性, 強(qiáng)化了為程序員容易思考而打造的特性. 所以我選擇Python
7. 選擇Python版本
有2和3兩個版本, 3比較新, 聽說改動大. 根據(jù)我在知乎上搜集的觀點來看, 我還是傾向于使用”在趨勢中將會越來越火”的版本, 而非”目前已經(jīng)很穩(wěn)定而且很成熟”的版本. 這是個人喜好, 而且預(yù)測不一定準(zhǔn)確. 但是如果Python3無法像Python2那么火, 那么整個Python語言就不可避免的隨著時間的推移越來越落后, 因此我想其實選哪個的最壞風(fēng)險都一樣, 但是最好回報卻是Python3的大. 其實兩者區(qū)別也可以說大也可以說不大, 最終都不是什么大問題. 我選擇的是Python 3
8. 爬蟲基本套路
基本流程
目標(biāo)數(shù)據(jù)
來源地址
結(jié)構(gòu)分析
實現(xiàn)構(gòu)思
操刀編碼
基本手段
破解請求限制
請求頭設(shè)置,如:useragant為有效客戶端
控制請求頻率(根據(jù)實際情景)
IP代理
簽名/加密參數(shù)從html/cookie/js分析
破解登錄授權(quán)
請求帶上用戶cookie信息
破解驗證碼
簡單的驗證碼可以使用識圖讀驗證碼第三方庫
解析數(shù)據(jù)
HTML Dom解析
正則匹配,通過的正則表達(dá)式來匹配想要爬取的數(shù)據(jù),如:有些數(shù)據(jù)不是在html 標(biāo)簽里,而是在html的script 標(biāo)簽的js變量中
使用第三方庫解析html dom,比較喜歡類jquery的庫
數(shù)據(jù)字符串
正則匹配(根據(jù)情景使用)
轉(zhuǎn) JSON/XML 對象進(jìn)行解析
9. python爬蟲
python寫爬蟲的優(yōu)勢
python語法易學(xué),容易上手
社區(qū)活躍,實現(xiàn)方案多可參考
各種功能包豐富
少量代碼即可完成強(qiáng)大功能
涉及模塊包
請求
urllib
requests
多線程
threading
正則
re
json解析
json
html dom解析
beautiful soup
lxml
xpath
操作瀏覽器
selenium