本教程是崔大大的爬蟲實戰教程的筆記:網易雲課堂
Python3+Pip環境配置
Windows下安裝Python: http://www.cnblogs.com/0bug/p/8228378.html
Linux以Ubuntu為例,一般是自帶的,只需配置一下默認版本:http://www.cnblogs.com/0bug/p/8598273.html
virtualenv的安裝:http://www.cnblogs.com/0bug/p/8598458.html
用到的IDE是PyCharm,Windows下到官網下載就行(Professional版本):http://www.jetbrains.com/pycharm/download/
Linux下以Ubuntu為例:http://www.cnblogs.com/0bug/p/8598673.html
Pycharm需要花錢,建議花錢買正版。
Mac我就不寫了,因為我沒有Mac
MongoDB環境配置
Windows下安裝和配置:http://www.cnblogs.com/0bug/p/8290330.html
Linux以Ubuntu為例:sudo apt-get install mongodb
Redis環境配置
Windows&Ubuntu:http://www.cnblogs.com/0bug/p/8892711.html
MySQL環境配置
Windows&Ubuntu:http://www.cnblogs.com/0bug/p/8655363.html
爬蟲的基本原理
什么是爬蟲?
爬蟲就是請求網站並提取數據的自動化程序
爬蟲的基本流程
1.發起請求
2.解析請求
3.獲取相應內容
4.保存數據
什么是Request和Response?
比如我們在瀏覽器中輸入一個網址
瀏覽器就會發送消息給該網址所在的服務器,這個過程就叫做HTTP Request
服務器收到瀏覽器發送的消息后,能夠根據瀏覽器發送消息的內容,做相應處理,然后把消息回傳給瀏覽器。這個過程叫做HTTP Response
瀏覽器收到服務器的Response信息后,會對信息進行相應的處理,然后展示。
Request中包含什么?
1.請求方式:
主要有GET、POST兩種類型,另外還有HEAD、PUT、DELETE、OPTIONS等。
HTTP協議中GET和POST方法的區別:http://www.cnblogs.com/0bug/p/8892959.html
2.請求URL
3.請求頭如User-Agent、Host、Cookies等
HTTP協議中中常見請求頭信息:http://www.cnblogs.com/0bug/p/8893038.html#_label1
4.請求體
Responst中包含什么?
1.響應狀態
有多種響應狀態如200代表成功,301代表跳轉,404代表找不到頁面,502代表服務器錯誤
2.響應頭
如內容類型,內容長度,服務器消息,設置Cookie等等
3.響應體
主要的部分,包含了請求資源的內容,如網頁HTML、圖片二進制數據等。
能抓取怎樣的數據?
1.網頁文本:如HTML文檔,Json格式文本等
2.圖片:獲取的是二進制文件,另存為圖片格式
3.視頻:同為二進制文件,保持為視頻格式即可
4.其他:只有能請求,都能獲取
解析方式
1.直接處理
2.Json解析
3.正則表達式
4.BeautifulSoup
5.PyQuery
6.Xpath
7.其他
怎樣解決JavaScript渲染的問題
1.分析Ajax請求
2.Selenium/WebDriver
3.Splash
4.PyV8、Fhost.py
怎樣保存數據
1.文本:純文本、Json、Xml等
2.關系型數據庫:如MySQL、Oracle、SQL Server等具有結構化表結構形式的存儲
3.非關系型數據庫:如MongoDB、Redis等Key-Value形式存儲
4.二進制文件:如圖片、視頻、音頻等等直接保存成特定格式即可
Urllib庫基本使用
Ullib的基本使用:http://www.cnblogs.com/0bug/p/8893677.html
Requests庫的基本使用
reuqests庫的基本用法:http://www.cnblogs.com/0bug/p/8899841.html
正則表達式與re模塊
正則表達式與re模塊:http://www.cnblogs.com/0bug/p/8272233.html
BeautifulSoup庫詳解
Beautiful Soup庫基礎用法:http://www.cnblogs.com/0bug/p/8260834.html
PyQuery詳解
PyQuery:http://www.cnblogs.com/0bug/p/8276717.html
Selenium詳解
Selenium基礎用法:http://www.cnblogs.com/0bug/p/8270552.html
Requests+正則表達式爬取貓眼電影
Requests+正則表達式爬取貓眼電影:http://www.cnblogs.com/0bug/p/8906490.html