【Python学习系列五】Python网络爬虫框架Scrapy环境搭建
生活随笔
收集整理的這篇文章主要介紹了
【Python学习系列五】Python网络爬虫框架Scrapy环境搭建
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、網絡爬蟲庫Scrapy
網絡爬蟲,是在網上進行數據抓取的程序,使用它能夠抓取特定網頁的HTML數據。Scrapy是一個使用Python編寫的,輕量級的,簡單輕巧,并且使用起來非常的方便。Scrapy使用了Twisted異步網絡庫來處理網絡通訊。整體架構大致如下:
Scrapy主要包括了以下組件:
1)引擎,用來處理整個系統的數據流處理,觸發事務。
2)調度器,用來接受引擎發過來的請求,壓入隊列中,并在引擎再次請求的時候返回。
3)下載器,用于下載網頁內容,并將網頁內容返回給蜘蛛。
4)蜘蛛,蜘蛛是主要干活的,用它來制訂特定域名或網頁的解析規則。
5)項目管道,負責處理有蜘蛛從網頁中抽取的項目,他的主要任務是清晰、驗證和存儲數據。當頁面被蜘蛛解析后,將被發送到項目管道,并經過幾個特定的次序處理數據。
6)下載器中間件,位于Scrapy引擎和下載器之間的鉤子框架,主要是處理Scrapy引擎與下載器之間的請求及響應。
7)蜘蛛中間件,介于Scrapy引擎和蜘蛛之間的鉤子框架,主要工作是處理蜘蛛的響應輸入和請求輸出。
8)調度中間件,介于Scrapy引擎和調度之間的中間件,從Scrapy引擎發送到調度的請求和響應。
官方網站:http://scrapy.org/
開源地址:https://github.com/scrapy/scrapy
2、Scrapy安裝
?
入門教程:http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html
網絡爬蟲,是在網上進行數據抓取的程序,使用它能夠抓取特定網頁的HTML數據。Scrapy是一個使用Python編寫的,輕量級的,簡單輕巧,并且使用起來非常的方便。Scrapy使用了Twisted異步網絡庫來處理網絡通訊。整體架構大致如下:
Scrapy主要包括了以下組件:
1)引擎,用來處理整個系統的數據流處理,觸發事務。
2)調度器,用來接受引擎發過來的請求,壓入隊列中,并在引擎再次請求的時候返回。
3)下載器,用于下載網頁內容,并將網頁內容返回給蜘蛛。
4)蜘蛛,蜘蛛是主要干活的,用它來制訂特定域名或網頁的解析規則。
5)項目管道,負責處理有蜘蛛從網頁中抽取的項目,他的主要任務是清晰、驗證和存儲數據。當頁面被蜘蛛解析后,將被發送到項目管道,并經過幾個特定的次序處理數據。
6)下載器中間件,位于Scrapy引擎和下載器之間的鉤子框架,主要是處理Scrapy引擎與下載器之間的請求及響應。
7)蜘蛛中間件,介于Scrapy引擎和蜘蛛之間的鉤子框架,主要工作是處理蜘蛛的響應輸入和請求輸出。
8)調度中間件,介于Scrapy引擎和調度之間的中間件,從Scrapy引擎發送到調度的請求和響應。
官方網站:http://scrapy.org/
開源地址:https://github.com/scrapy/scrapy
2、Scrapy安裝
? ?1)環境是 Anaconda ,conda package包可查看https://conda-forge.github.io/
? ? ? scrapy可通過https://anaconda.org/conda-forge/scrapy下載安裝包。
? ? ?也可直接>conda install -c conda-forge scrapy安裝
? ? 參考:https://doc.scrapy.org/en/latest/intro/install.html
? ? ? ? ?有依賴庫Twisted-17.1.0-cp27-cp27m-win_amd64.whl;
? ? ? ? ?也可直接>pip install Scrapy安裝(注意Scrapy大小寫敏感)
? ?安裝指南:http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/install.html#scrapy?
3、爬蟲代碼示例:
import scrapyclass BlogSpider(scrapy.Spider):name = 'blogspider'start_urls = ['https://blog.scrapinghub.com']def parse(self, response):for title in response.css('h2.entry-title'):yield {'title': title.css('a ::text').extract_first()}for next_page in response.css('div.prev-post > a'):yield response.follow(next_page, self.parse入門教程:http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html
總結
以上是生活随笔為你收集整理的【Python学习系列五】Python网络爬虫框架Scrapy环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python学习系列四】Python程
- 下一篇: 【正一专栏】我的高考作文——在广州的乡下