光环大数据python爬虫
一、全面的爬蟲工程師的技能單
?? ?1、python編程語言基礎
?? ?2、HTTP協議(處理響應, )
?? ?3、html,css,javascript基本web技能
?? ?4、mysql/mongodb/redis等存儲系統
?? ?5、urllib/requests/scrapy/pyspider ?用來模擬瀏覽器發起HTTP請求的組件
?? ?6、抓包工具和網頁分析工具(正則,bs4,xpath,selenuim 異步請求,模擬登陸,最難的驗證碼(機器學習), 反反爬蟲)
?? ?7、json/csv/db
?? ?html ?xml ? 半結構化
?
二、Python3.x教程
?? ?廖雪峰Python3教程(文檔):http://www.liaoxuefeng.com/
?? ?菜鳥教程Python3教程(文檔):http://www.runoob.com/python3/python3-tutorial.html
?
三、python基礎內容點
?? ?python編程語言簡單介紹(產生背景,優缺點,流行度)
?? ?python的開發環境搭建(linux,windows,python,pycharm)
?? ?python的hello world
?? ?python關鍵字查看
?? ?python的變量定義
?? ?python的數據類型(Number String List Tuple Set Dict)
?? ?python的注釋(單行和段落)
?? ?python的輸入輸出(print 和 input)
?? ?python數據類型轉換/常用數值運算/類型判斷
?? ?python的集合,列表,元組,字典
?? ?python的流程控制for和while和if(break, continue, pass)
?? ?python的切片
?? ?python的代碼縮進(換行,段落)
?? ?python函數(自定義函數,常用內置模塊,常用函數,函數調用)
?? ?python異常
?? ?python模塊(內置模塊,導入模塊,自定義模塊)
?? ?python迭代器和生成器
?? ?python面向對象
?? ?python讀寫文件IO
?? ?python數據庫和JSON和CSV
四、爬取單
?? ?名言網:http://quotes.toscrape.com
?? ?中國天氣網
?? ?必應詞典翻譯/身份證歸屬地/手機號歸屬地
?? ?拉勾招聘職位
?? ?當當暢銷書
?? ?豆瓣影評
?? ?鏈家/自如租房/如家
?? ?糗事百科/內涵段子/新浪微博
?? ?校花/校草照片
?? ?起點小說
?? ?微信公眾號
?? ?知乎熱點
?? ?B站用戶
?? ?NBA2017-2018賽季比較詳細數據
?? ?貓眼電影
五、爬蟲
?? ?概念:
?? ?1、爬蟲:網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人),是一種按照一定的規則,自動地抓取萬維網www信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。
?? ?2、爬蟲:使用任何技術手段,批量獲取網站信息的一種方式。關鍵在于批量。
?? ?3、爬蟲:根本目的在于獲取網頁源碼中的數據。更深入一些,就會出現和網頁進行POST交互從而獲取服務器接收POST請求后返回的數據!總結:爬蟲就是由計算機自動與服務器交互獲取數據的工具。
?? ?爬蟲相關的其他核心概念:
?? ?反爬蟲:使用任何技術手段,阻止別人批量獲取自己網站信息的一種方式。關鍵也在于批量。
?? ?誤傷:在反爬蟲的過程中,錯誤的將普通用戶識別為爬蟲。誤傷率高的反爬蟲策略,效果再好也不能用。
?? ?攔截:成功地阻止爬蟲訪問。這里會有攔截率的概念。通常來說,攔截率越高的反爬蟲策略,誤傷的可能性就越高。因此需要做個權衡。
?? ?資源:機器成本與人力成本的總和。
?? ?爬蟲的分類
?? ?1、聚焦爬蟲:開發人員針對特定用戶而開發的數據采集程序 ? 聚焦爬蟲
?? ?2、通用爬蟲:盡可能的爬取所有的網頁, ?搜索引擎
?? ?基本流程:
?? ?1、發送請求(urllib, requests) ?在瀏覽器的地址欄中輸入了URL之后回車的那個動作
?? ?2、獲取頁面內容 ?得到服務器接收請求之后進行處理得到的網頁源代碼
?? ?3、解析頁面(bs4, xpath,正則re,jsonpath, pyquery, json) ?解析源碼,抽取數據
?? ?4、異步動態加載/驗證碼處理(selenium, phantomJs)
?? ?5、抽取并存儲內容(json,csv/tsv, 數據庫) ? ?處理數據,存儲數據
?? ?
?? ?爬蟲的工作原理
?? ?爬蟲的工作方式
?? ??? ?有兩種策略:
?? ??? ??? ?1、深度優先爬取
?? ??? ??? ?2、廣度優先爬取
?? ??? ?response = urllib.request.urlopen("https://www.baidu.com/")
?? ??? ?content = response.read()?
? ? ? ? content是一個網頁的源碼組成的一個字符串。
? ? ? ? 這個源碼中會包含很多的其他的http地址 ?URL ?怎么去對待這個URL ??
? ? ? ? https://movie.douban.com/top250
? ? ? ? https://movie.douban.com/top250?start=25&filter=
?? ??? ?基本上,也就是除了帶分頁的是標準的廣度優先之外, 其他的基本上都是?
?? ??? ?廣度 + 深度
?? ?搜索引擎的工作原理
?? ??? ?hadoop的產生
?? ??? ?google ? nutch ?爬蟲 ? ?doug cutting (lucene)
?? ??? ?幾乎是爬取了整個網絡的所有網頁,所以每個網頁都存儲下來的話,那么數據量必然很大。
?? ??? ?數據量特別大
?? ??? ?為什么大數據的應用技術, 最先從google弄出來。
?? ??? ?在存儲的時候,有必要把所有的網頁內容都存儲下來么?
?? ??? ?這個URL中有哪些關鍵信息存儲下來。!!
?? ??? ?關鍵信息就是這個網頁中的, 核心
?? ??? ?排序 ? PageRank ? value 分數 ? PageRank
?? ??? ?就是給每一個網頁的對應的某一個關鍵字都衡量出一個 ?分數
?? ??? ?
六、爬蟲框架
?? ?scrapy?
?? ?pyspider
?
七、反爬蟲 和 反反爬蟲
?? ?1、爬蟲領域的一些相關概念:
?? ?爬蟲:使用任何技術手段,批量獲取網站信息的一種方式。關鍵在于批量。
?? ?反爬蟲:使用任何技術手段,阻止別人批量獲取自己網站信息的一種方式。關鍵也在于批量。
?? ?誤傷:在反爬蟲的過程中,錯誤的將普通用戶識別為爬蟲。誤傷率高的反爬蟲策略,效果再好也不能用。
?? ?攔截:成功地阻止爬蟲訪問。這里會有攔截率的概念。通常來說,攔截率越高的反爬蟲策略,誤傷的可能性就越高。因此需要做個權衡。
?? ?資源:機器成本與人力成本的總和。
?? ?2、約定協議/君子協定 robots.txt
?? ?robots協議:協議指明通用爬蟲可以爬取網頁的權限
?? ?robots協議是一種約定,一般是大型公司的程序或者搜索引擎等遵守
?? ?3、為什么要反爬蟲?
?? ??? ?1、爬蟲占總PV比例較高,過多消耗服務器資源
?? ??? ?2、公司的免費資源被批量爬走,利人損己
?? ??? ?3、法律問題
?? ?
?? ?4、反爬蟲應對策略
?? ??? ?1、技術壓制
?? ??? ?2、嘲諷
?? ??? ?3、放水
?? ?
總結
以上是生活随笔為你收集整理的光环大数据python爬虫的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vs2010帮助文件安装完全攻略
- 下一篇: HALCON 1D Measure 算子