转 Python爬虫入门一之综述
轉(zhuǎn)自:
http://cuiqingcai.com/927.html
靜覓???Python爬蟲入門一之綜述
首先爬蟲是什么?
?
網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機(jī)器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者),是一種按照一定的規(guī)則,自動(dòng)的抓取萬維網(wǎng)信息的程序或者腳本。
?
要學(xué)習(xí)Python爬蟲,我們要學(xué)習(xí)的共有以下幾點(diǎn):
- Python基礎(chǔ)知識(shí)
- Python中urllib和urllib2庫的用法
- Python正則表達(dá)式
- Python爬蟲框架Scrapy
- Python爬蟲更高級(jí)的功能
1.Python基礎(chǔ)學(xué)習(xí)
首先,我們要用Python寫爬蟲,肯定要了解Python的基礎(chǔ)吧,萬丈高樓平地起,不能忘啦那地基,哈哈,那么我就分享一下自己曾經(jīng)看過的一些Python教程,小伙伴們可以作為參考。
1) 慕課網(wǎng)Python教程
曾經(jīng)有一些基礎(chǔ)的語法是在慕課網(wǎng)上看的,上面附有一些練習(xí),學(xué)習(xí)完之后可以作為練習(xí),感覺效果還是蠻不錯(cuò)的,不過稍微遺憾的是內(nèi)容基本上都是最基礎(chǔ)的,入門開始的話,就這個(gè)吧
學(xué)習(xí)網(wǎng)址:慕課網(wǎng)Python教程
2) 廖雪峰Python教程
后來,我發(fā)現(xiàn)了廖老師的Python教程,講的那是非常通俗易懂哪,感覺也是非常不錯(cuò),大家如果想進(jìn)一步了解Python就看一下這個(gè)吧。
學(xué)習(xí)網(wǎng)址:廖雪峰Python教程
3) 簡(jiǎn)明Python教程
還有一個(gè)我看過的,簡(jiǎn)明Python教程,感覺講的也不錯(cuò)
學(xué)習(xí)網(wǎng)址:簡(jiǎn)明Python教程
?
2.Python urllib和urllib2 庫的用法
urllib和urllib2庫是學(xué)習(xí)Python爬蟲最基本的庫,利用這個(gè)庫我們可以得到網(wǎng)頁的內(nèi)容,并對(duì)內(nèi)容用正則表達(dá)式提取分析,得到我們想要的結(jié)果。這個(gè)在學(xué)習(xí)過程中我會(huì)和大家分享的。
3.Python 正則表達(dá)式
Python正則表達(dá)式是一種用來匹配字符串的強(qiáng)有力的武器。它的設(shè)計(jì)思想是用一種描述性的語言來給字符串定義一個(gè)規(guī)則,凡是符合規(guī)則的字符串,我們就認(rèn)為它“匹配”了,否則,該字符串就是不合法的。這個(gè)在后面的博文會(huì)分享的。
4.爬蟲框架Scrapy
如果你是一個(gè)Python高手,基本的爬蟲知識(shí)都已經(jīng)掌握了,那么就尋覓一下Python框架吧,我選擇的框架是Scrapy框架。這個(gè)框架有什么強(qiáng)大的功能呢?下面是它的官方介紹:
?
HTML, XML源數(shù)據(jù) 選擇及提取 的內(nèi)置支持
提供了一系列在spider之間共享的可復(fù)用的過濾器(即 Item Loaders),對(duì)智能處理爬取數(shù)據(jù)提供了內(nèi)置支持。
通過 feed導(dǎo)出 提供了多格式(JSON、CSV、XML),多存儲(chǔ)后端(FTP、S3、本地文件系統(tǒng))的內(nèi)置支持
提供了media pipeline,可以 自動(dòng)下載 爬取到的數(shù)據(jù)中的圖片(或者其他資源)。
高擴(kuò)展性。您可以通過使用 signals ,設(shè)計(jì)好的API(中間件, extensions, pipelines)來定制實(shí)現(xiàn)您的功能。
內(nèi)置的中間件及擴(kuò)展為下列功能提供了支持:
cookies and session 處理
HTTP 壓縮
HTTP 認(rèn)證
HTTP 緩存
user-agent模擬
robots.txt
爬取深度限制
針對(duì)非英語語系中不標(biāo)準(zhǔn)或者錯(cuò)誤的編碼聲明, 提供了自動(dòng)檢測(cè)以及健壯的編碼支持。
支持根據(jù)模板生成爬蟲。在加速爬蟲創(chuàng)建的同時(shí),保持在大型項(xiàng)目中的代碼更為一致。詳細(xì)內(nèi)容請(qǐng)參閱 genspider 命令。
針對(duì)多爬蟲下性能評(píng)估、失敗檢測(cè),提供了可擴(kuò)展的 狀態(tài)收集工具 。
提供 交互式shell終端 , 為您測(cè)試XPath表達(dá)式,編寫和調(diào)試爬蟲提供了極大的方便
提供 System service, 簡(jiǎn)化在生產(chǎn)環(huán)境的部署及運(yùn)行
內(nèi)置 Web service, 使您可以監(jiān)視及控制您的機(jī)器
內(nèi)置 Telnet終端 ,通過在Scrapy進(jìn)程中鉤入Python終端,使您可以查看并且調(diào)試爬蟲
Logging 為您在爬取過程中捕捉錯(cuò)誤提供了方便
支持 Sitemaps 爬取
具有緩存的DNS解析器
官方文檔:http://doc.scrapy.org/en/latest/
等我們掌握了基礎(chǔ)的知識(shí),再用這個(gè) Scrapy 框架吧!
扯了這么多,好像沒多少有用的東西額,那就不扯啦!
下面開始我們正式進(jìn)入爬蟲之旅吧!
轉(zhuǎn)載于:https://www.cnblogs.com/njczy2010/p/5547386.html
總結(jié)
以上是生活随笔為你收集整理的转 Python爬虫入门一之综述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浩在名字中的意思
- 下一篇: Python的可变类型与不可变类型