5.spiders(文件夹)
一、基礎知識
? 1. Spiders?文件夾
??用于編寫爬蟲規則,可以在已有的___init__.py文件中編寫具體的爬蟲規則但是實際開發中可能有多個爬蟲規則,所以建議一個爬蟲規則用一個文件表示,這樣便于維護和管理
2.?代碼
# -*- coding: utf-8 -*- import scrapy from baidu.items import BaiduItem from scrapy.selector import Selector #自帶的數據清洗模塊 from scrapy.spiders import Spiderclass SpiderSpodersSpider(scrapy.Spider):name = 'Spider_spoders'#必須設置,而且是唯一的命名,用于運行爬蟲allowed_domains = ['baidu.com']start_urls = ['http://baidu.com/list?cid=110','http://baidu.com/list?cid=110102']#函數parse處理相應內容,函數名不能更改def parse(self, response):sel=Selector(response)#將相應內容生成selector,用于數據的清洗items=[]item=BaiduItem()#定義BaiduItem對象title=sel.xpath('//div[@class="question-title"]/a/text()').extract()for i in title:items.append(i)items['TitleName']=itemsreturn item?代碼說明:
(1)?屬性name不能為空,是程序運行入口,如果有多個爬蟲規則,那么每個規則的屬性name不能重復
(2)?Allowed_domains是設置允許訪問的域名,如果為空,就說明對域名不做訪問限制
(3)?Start_urls用于設置爬取對象的URL,程序運行時會對start_urls遍歷處理
(4)?類方法parse()用于處理網站的相應內容,如果爬蟲引擎是Spider,方法名就不能更改
(5)?爬蟲規則以類為實現單位,并繼承父類Spider,Spider是Scrapy的爬蟲引擎
3. spiders介紹
(1)?Spider是定義如何抓取某個網站的類,包括如何執行抓取(訪問URL)以及如何從頁面中提取結構化數據(抓取數據)。Spider是開發者自定義的類,用于為特定的網抓取和解析頁面。
?(2)Spider執行周期:
4?Spider的種類
(1)Scrpay.spiders.Spider:最簡單的spider類,其他的類是繼承該類,不提供任何的特殊功能,只提供一個默認的start_requests()方法,請求從start_urls開始,Spider發送請求,并使用函數parse處理每個響應內容。
(2)Scrapy.spiders.CrawlSpider:抓取常規網站最常用的spider,提供了一個方便機制,可通過定義一組規則來跟蹤URL,適合全站數據爬取和通用的爬蟲開發。除了擁有scrapy.spider.Spider全部屬性之外,還有特定屬性rules和parse_start_url方法
轉載于:https://www.cnblogs.com/luoyw/p/10587241.html
總結
以上是生活随笔為你收集整理的5.spiders(文件夹)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信APP支付配置文档
- 下一篇: html答题游戏代码,html5+css