爬蟲scrapy之四(20)

2021-10-08 18:07:36 字數 4583 閱讀 4999

1.1 控制台列印

import scrapy

class doubanspider(scrapy.spider):

name = 'douban'

allwed_url = 'douban.com'

start_urls = ['']

def parse(self, response):

movie_name = response.xpath("//div[@class='item']//a/span[1]/text()").extract()

movie_core = response.xpath("//div[@class='star']/span[2]/text()").extract()

yield

執行以上**,我可以在控制看到:

2018-01-24 15:17:15 [scrapy.core.engine] info: spider closed (finished)1.2 以檔案的方式輸出

1.2.1 python原生方式

with open("movie.txt", 'wb') as f:

for n, c in zip(movie_name, movie_core):

str = n+":"+c+"\n"

f.write(str.encode())

1.2.2 以scrapy內建方式

scrapy 內建主要有四種:json,json lines,csv,xml

我們將結果用最常用的json匯出,命令如下:

scrapy crawl dmoz -o douban.json -t json
-o 後面是匯出檔名,-t 後面是匯出型別

2 提取內容的封裝item

scrapy程序可通過使用蜘蛛提取來自網頁中的資料。scrapy使用item類生成輸出物件用於收刮資料

item 物件是自定義的python字典,可以使用標準字典語法獲取某個屬性的值

2.1 定義
import scrapy

class infoitem(scrapy.item):

# define the fields for your item here like:

movie_name = scrapy.field()

movie_core = scrapy.field()

2.2 使用
def parse(self, response):

movie_name = response.xpath("//div[@class='item']//a/span[1]/text()").extract()

movie_core = response.xpath("//div[@class='star']/span[2]/text()").extract()

for n, c in zip(movie_name, movie_core):

movie = infoitem()

movie['movie_name'] = n

movie['movie_core'] = c

yield movie

爬蟲學習 Scrapy框架學習(四)

接之前的部落格內容 1 建立乙個工程和spider模板 2 編寫spider 3 編寫item pipeline 4 優化配置策略 1 reqeust類 向網路中提交請求的內容 request物件表示乙個http請求 由spider生成,由 執行 屬性或方法 說明 url request對應的請求u...

scrapy之爬蟲初體驗

本篇文章主要將怎樣建立乙個scrapy專案,以及完成第乙個scrapy爬蟲專案。首先是安裝scrapy模組,有很多原因都能導致scrapy模組安裝失敗,網上有很多教程讓怎樣安裝scrapy。親測比較有效的方法使用whl檔案安裝。不過有小夥伴也可以嘗試直接使用pip install scrapy命令進...

Python之scrapy框架爬蟲

scrapy命令詳解 可能是如今最全最簡單的scrapy命令解釋 明天上班,又要爬 現在每天做的工作有50 的時間爬 40 的時間清理資料,10 寫報告。若想自學資料分析,側重點很重要,我當初把大部分經歷放在了python的pandas numpymatplotlib上面,其他時間一部分放在sql身...