日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

5.spiders(文件夹)

發(fā)布時(shí)間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 5.spiders(文件夹) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、基礎(chǔ)知識(shí)

? 1. Spiders?文件夾

 ??用于編寫爬蟲規(guī)則,可以在已有的___init__.py文件中編寫具體的爬蟲規(guī)則但是實(shí)際開發(fā)中可能有多個(gè)爬蟲規(guī)則,所以建議一個(gè)爬蟲規(guī)則用一個(gè)文件表示,這樣便于維護(hù)和管理

2.?代碼

# -*- coding: utf-8 -*- import scrapy from baidu.items import BaiduItem from scrapy.selector import Selector #自帶的數(shù)據(jù)清洗模塊 from scrapy.spiders import Spiderclass SpiderSpodersSpider(scrapy.Spider):name = 'Spider_spoders'#必須設(shè)置,而且是唯一的命名,用于運(yùn)行爬蟲allowed_domains = ['baidu.com']start_urls = ['http://baidu.com/list?cid=110','http://baidu.com/list?cid=110102']#函數(shù)parse處理相應(yīng)內(nèi)容,函數(shù)名不能更改def parse(self, response):sel=Selector(response)#將相應(yīng)內(nèi)容生成selector,用于數(shù)據(jù)的清洗items=[]item=BaiduItem()#定義BaiduItem對(duì)象title=sel.xpath('//div[@class="question-title"]/a/text()').extract()for i in title:items.append(i)items['TitleName']=itemsreturn item

?代碼說明:

(1)?屬性name不能為空,是程序運(yùn)行入口,如果有多個(gè)爬蟲規(guī)則,那么每個(gè)規(guī)則的屬性name不能重復(fù)

(2)?Allowed_domains是設(shè)置允許訪問的域名,如果為空,就說明對(duì)域名不做訪問限制

(3)?Start_urls用于設(shè)置爬取對(duì)象的URL,程序運(yùn)行時(shí)會(huì)對(duì)start_urls遍歷處理

(4)?類方法parse()用于處理網(wǎng)站的相應(yīng)內(nèi)容,如果爬蟲引擎是Spider,方法名就不能更改

(5)?爬蟲規(guī)則以類為實(shí)現(xiàn)單位,并繼承父類Spider,Spider是Scrapy的爬蟲引擎

3. spiders介紹

  (1)?Spider是定義如何抓取某個(gè)網(wǎng)站的類,包括如何執(zhí)行抓取(訪問URL)以及如何從頁面中提取結(jié)構(gòu)化數(shù)據(jù)(抓取數(shù)據(jù))。Spider是開發(fā)者自定義的類,用于為特定的網(wǎng)抓取和解析頁面。

 ?(2)Spider執(zhí)行周期:

  • 抓取第一個(gè)URL的初始請求,然后指定一個(gè)回調(diào)函數(shù),從請求的響應(yīng)來調(diào)用回調(diào)函數(shù),請求鏈接通過調(diào)用start_requests()方法,parse方法作為回調(diào)函數(shù)處理請求鏈接返回的請求結(jié)果
  • 在回調(diào)函數(shù)中,主要解析響應(yīng)內(nèi)容,并將解析后的數(shù)據(jù)存儲(chǔ)在item對(duì)象中
  • 在回調(diào)函數(shù)中,通常選用選擇器(beautifulsoup、lxml)解析頁面內(nèi)容,并將解析的數(shù)據(jù)存儲(chǔ)在item對(duì)象中。
  • 4?Spider的種類

     (1)Scrpay.spiders.Spider:最簡單的spider類,其他的類是繼承該類,不提供任何的特殊功能,只提供一個(gè)默認(rèn)的start_requests()方法,請求從start_urls開始,Spider發(fā)送請求,并使用函數(shù)parse處理每個(gè)響應(yīng)內(nèi)容。

     (2)Scrapy.spiders.CrawlSpider:抓取常規(guī)網(wǎng)站最常用的spider,提供了一個(gè)方便機(jī)制,可通過定義一組規(guī)則來跟蹤URL,適合全站數(shù)據(jù)爬取和通用的爬蟲開發(fā)。除了擁有scrapy.spider.Spider全部屬性之外,還有特定屬性rules和parse_start_url方法

    轉(zhuǎn)載于:https://www.cnblogs.com/luoyw/p/10587241.html

    總結(jié)

    以上是生活随笔為你收集整理的5.spiders(文件夹)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。