Scrapy爬蟲筆記 1

2021-08-22 17:47:35 字數 2556 閱讀 4258

1、安裝:使用pip install scrapy;

假如使用了fiddler作為**伺服器進行除錯分析,為了避免該軟體的影響:

開啟fiddler,進入「tools——>fiddler options——>connections」,將「act as system proxy on startup」和「monitor all connections」的勾選取消。

2、(1)、使用命令「scrapy startproject 專案名」建立乙個專案;

--logfile=file 引數指定日誌檔案,在startproject和專案名之間

--loglevel=level 主要控制日誌資訊的等級

從高到低依次為crical(生嚴重的錯誤),error(發生了必須立即處理的錯誤),warning(出現了一些警告資訊,即存在潛在的錯誤),info(輸出一些提示資訊),debug(輸出一些除錯資訊,常用於開發階段)

--nolog引數可以控制不輸出日誌資訊

(2)、命令「cd 爬蟲專案所在目錄」,使用genspider命令建立scrapy爬蟲檔案steve,定義爬取www.sina.com。

scrapy genspider -t basic steve www.sina.com
爬蟲模版有:basic、crawl、csvfeed、xmlfeed。

3、專案目錄結構:

scrapy.cfg 是爬蟲專案的配置檔案

items.py 爬蟲專案的資料容器檔案,定義我們獲取的資料

pipelines.py 管道檔案,對items中定義的資料進一步加工與處理

setting.py 設定檔案

spider資料夾下放置爬蟲部分檔案

(1)在items中資料以字典形式儲存

(2)spider中的常用屬性和方法:

start_requests() 該方法預設讀取start_urls屬性中定義的**,為每乙個**生成乙個request請求物件,並返回迭代物件

make_requests_from_url(url) 該方法會被start_requests() 呼叫,負責實現生成request請求物件

closed(reason) 關閉spider時,該方法被呼叫

3、spider的編寫

(1)、

#steve.py

import scrapy

from firstpjt.items import firstpjtitem

class stevespider(scrapy.spider):

name = 'steve'

allowed_domains = ['www.sina.com']

start_urls = (

'','','')

def parse(self, response):

item = firstpjtitem()

item["urlname"]=response.xpath("/html/head/title/text()")

print(item["urlname"])

執行結果:

# 自定義起始**

urls2 = (

'','','')

# 重寫start_requests()方法

def start_requests(self):

for url in self.urls2:

# 呼叫預設self.make_requests_from_url(url)方法生成具體請求並通過yield返回

yield self.make_requests_from_url(url)

def parse(self, response):

item = firstpjtitem()

item["urlname"] = response.xpath("/html/head/title/text()")

print(item["urlname"])

執行結果:

SCRAPY 爬蟲筆記

scrapy 爬蟲筆記 第乙個scrapy 程式 首選在cmd 輸入 scrapy startproject 就是我們第乙個專案的名稱 在spiders資料夾下面建立乙個新的python檔案 import scrapy class firstspider scrapy.spider name fir...

scrapy 爬蟲入門(1)

pip install scrapy 就是這麼簡單 scrapy startproject words 會建立乙個words的專案目錄結構 words scrapy.cfg 專案的配置檔案 words 專案 init py items.py 專案的item檔案 pipelines.py 專案的pip...

scrapy爬蟲例項 1

預先設定好items import scrapy class superspideritem scrapy.item title scrapy.field date scrapy.field content scrapy.field 爬取範圍和start url class spider1spide...