Python之Scrapy爬蟲框架 入門實例(一)

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/ 的內容。

  

相關文章
相關標籤/搜索