1、開發環境css
1.安裝 scrapypython
2.安裝 python2.7python2.7
3.安裝編輯器 PyCharmscrapy
2、建立scrapy項目pachong編輯器
1.在命令行輸入命令:scrapy startproject pachong ide
(pachong 爲項目的名稱,能夠改變)post
2.打開編輯器PyCharm,將剛剛建立的項目pachong導入。網站
(點擊file—>選擇open—>輸入或選擇E:\pachong—>點擊ok)編碼
3、建立scrapy爬蟲文件pachong_spider.pyurl
在pachong_spider.py這個文件夾中編寫爬取網站數據的內容。
(右擊文件spiders—>選擇New,在選擇PhthonFile—>輸入文件名pachong_spider)
4、編寫爬蟲pachong
將 網址 http://lab.scrapyd.cn/ 博客中的全部博客標題和博客標籤,以做者名-語錄爲名分別保存在各自做者對應的txt文件中。
1.查看http://lab.scrapyd.cn/源代碼,獲取本身所需的博客標題、做者、標籤三個內容的對應HTML標籤信息。
2.獲取網址的內容,保存到變量pachong裏。
(分析HTML結構,每一段須要提取的內容都被一個 <div class="quote post">……</div> 包裹。)
3.獲取循環獲取標題、做者的第一個內容,和對應標籤的內容,並對標籤的內容進行逗號分隔後,進行分類保存。
4.查看下一頁的HTML標籤,對下一頁獲取的內容進行循環。
(查看存在不存在下一頁的連接,若是存在下一頁,把下一頁的內容提交給parse而後繼續爬取。若是不存在下一頁連接結束爬取。)
5.爬蟲源代碼。
1 # -*- coding: utf-8 -*- 2 import sys 3 reload(sys) 4 sys.setdefaultencoding('utf-8') 5 #Python 默認腳本文件都是 UTF-8 編碼的,當腳本出現中文漢字時須要對其進行解碼。 6 import scrapy 7 class itemSpider(scrapy.Spider): 8 # scrapy.Spider 是一個簡單的爬蟲類型。 9 # 它只是提供了一個默認start_requests()實現。 10 # 它從start_urlsspider屬性發送請求,並parse 爲每一個結果響應調用spider的方法。 11 name ="pachong" 12 # 定義此爬蟲名稱的字符串。 13 # 它必須是惟一的。 14 start_urls = ['http://lab.scrapyd.cn'] 15 #爬蟲抓取本身須要的網址列表。 16 #該網站列表能夠是多個。 17 def parse(self, response): 18 # 定義一個parse規則,用來爬取本身須要的網站信息。 19 pachong = response.css('div.quote') 20 # 用變量pachong來保存獲取網站的部份內容。 21 for v in pachong: 22 text = v.css('.text::text').extract_first() 23 autor = v.css('.author::text').extract_first() 24 tags = v.css('.tags .tag::text').extract() 25 tags = ','.join(tags) 26 # 循環提取全部的標題、做者和標籤內容。 27 fileName = u'%s-語錄.txt' % autor 28 # 文件的名稱爲做者名字—語錄.txt。 29 with open(fileName, "a+")as f: 30 f.write(u'標題:'+text) 31 f.write('\n') 32 f.write(u'標籤:' + tags) 33 f.write('\n------------------------------------------------\n') 34 # 打開文件並寫入標題和標籤內容。 35 f.close() 36 # 關閉文件 37 next_page = response.css('li.next a::attr(href)').extract_first() 38 if next_page is not None: 39 next_page = response.urljoin(next_page) 40 yield scrapy.Request(next_page, callback=self.parse) 41 # 查看存在不存在下一頁的連接,若是存在下一頁,把下一頁的內容提交給parse而後繼續爬取。 42 # 若是不存在下一頁連接結束爬取。
5、運行爬蟲pachong
1.在命令行輸入命令:scrapy crawl pachong
(在pachong的目錄下輸入命令)
2.打開e盤 pachong文件夾,已經按要求爬取網址 http://lab.scrapyd.cn/ 的內容。