這篇文章主要介紹用python爬蟲scrapy框架中獲取內(nèi)容對的示例,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供網(wǎng)站設(shè)計、成都網(wǎng)站制作、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、小程序制作、公眾號商城、等建站開發(fā),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。Items介紹
爬取的主要目標(biāo)就是從非結(jié)構(gòu)性的數(shù)據(jù)源提取結(jié)構(gòu)性數(shù)據(jù),例如網(wǎng)頁。 Scrapy spider可以以python的dict來返回提取的數(shù)據(jù).雖然dict很方便,并且用起來也熟悉,但是其缺少結(jié)構(gòu)性,容易打錯字段的名字或者返回不一致的數(shù)據(jù),尤其在具有多個spider的大項目中。
為了定義常用的輸出數(shù)據(jù),Scrapy提供了 Item 類。 Item 對象是種簡單的容器,保存了爬取到得數(shù)據(jù)。 其提供了 類似于詞典(dictionary-like) 的API以及用于聲明可用字段的簡單語法。
許多Scrapy組件使用了Item提供的額外信息: exporter根據(jù)Item聲明的字段來導(dǎo)出數(shù)據(jù)、 序列化可以通過Item字段的元數(shù)據(jù)(metadata)來定義、 trackref 追蹤Item實(shí)例來幫助尋找內(nèi)存泄露 (see 使用 trackref 調(diào)試內(nèi)存泄露) 等等。
Item 對象是種簡單的容器,保存了爬取到得數(shù)據(jù)。 其提供了 類似于詞典(dictionary-like) 的API以及用于聲明可用字段的簡單語法。
在Scrapy中,items是用來加載抓取內(nèi)容的容器,提供了一些額外的保護(hù)減少錯誤。
一般來說,item可以用scrapy.item.Item類來創(chuàng)建,并且用scrapy.item.Field對象來定義屬性。
接下來,我們開始來構(gòu)建item模型(model)。
首先,我們想要的內(nèi)容有:
排名(ranking)
電影名稱(movie_name)
電影評分(score)
評論人數(shù)(score_num)
格言(quote)
Item使用簡單的class定義語法以及Field對象來聲明。我們打開scrapyspider目錄下的items.py文件寫入下列代碼聲明Item: