pyspidercss
目錄html
pyspider簡單介紹python
pyspider的使用jquery
實戰git
一個國人編寫的強大的網絡爬蟲系統並帶有強大的WebUI。採用Python語言編寫,分佈式架構,支持多種數據庫後端,web
強大的WebUI支持腳本編輯器,任務監視器,項目管理器以及結果查看器sql
官方文檔: http://docs.pyspider.org/en/latest/數據庫
開源地址: http://github.com/binux/pyspider後端
中文文檔: http://www.pyspider.cn/
pyspider框架的特性
pyspider的安裝
pip install pyspider
代碼分析:
技巧:
enable css selector helper能夠在點擊了web 的網頁預覽下,獲取網頁的css選擇器
點擊圖片箭頭的按鍵,就會生成對應css選擇器在光標所在的位置處
爬取鏈家網的信息:
#!/usr/bin/env python # -*- encoding: utf-8 -*- # Created on 2018-11-02 10:54:11 # Project: ddd from pyspider.libs.base_handler import * class Handler(BaseHandler): crawl_config = { } @every(minutes=24 * 60) # 設置爬取的時間間隔 def on_start(self): self.crawl('https://cs.lianjia.com/ershoufang/', callback=self.index_page, validate_cert = False) # 參數三是設置不驗證ssl證書 @config(age=10 * 24 * 60 * 60) # 過時時間 def index_page(self, response): for each in response.doc('.title > a').items(): self.crawl(each.attr.href, callback=self.detail_page, validate_cert = False) @config(priority=2) # 優先級 數大極高 def detail_page(self, response): yield { 'title': response.doc('.main').text(), 'special': response.doc('.tags > .content').text(), 'price': response.doc('.price > .total').text(), 'sell point': response.doc('.baseattribute > .content').text() }
結果:分別爬取了賣房的標題(title),特色(special),賣點(sell point)和價格(price),由於字典保存,因此無序