高階爬蟲Scrapy框架

2021-10-09 07:53:20 字數 1910 閱讀 3208

記錄下容易出錯的地方

from movie.items import movieitem

#資料夾.檔名 引入 類名

import scrapy

from

..items import movieitem

class

shuichanspider

(scrapy.spider)

: name =

'shuichan'

allowed_domains =

['bbs.liyang-tech.com'

] start_urls =

['']def

parse

(self,response)

: urls =

['&page=%s'

%(i)

for i in

range(1

,51)]

for i in urls:

yield response.follow(i,self.parse_title)

#方法名不要帶括號

defparse_title

(self,response)

: item = movieitem(

) txt = response.xpath(

'//*/tr/th/a[2]/text()'

).extract(

)for i in txt:

item[

'title'

]= i

yield item

第二個引數是提交乙個方法,不要打括號,否則報錯

我們經常用scrapy內建的xpath來解析頁面,獲取想要的資訊,但xpath解析的返回值是乙個selector物件,不能直接與str物件進行運算,需要先呼叫extract()函式來將其變成unicode編碼,之後就能與str物件進行運算了。

解析完畢後一定要返回資料,否則啥也沒有的

先例項化items檔案中的類,然後最後返回解析的資料

item = movieitem(

)

最後返回item

settings.py 是整個專案的配置檔案,這個檔案裡可以設定爬取併發個數、等待時間、輸出格式、預設 header 等等。這次我們可以寫一些配置如:

bot_name =

spider_modules =

newspider_module =

# crawl responsibly by identifying yourself (and your website) on the user-agent

# obey robots.txt rules

robotstxt_obey =

true

# 上面都是自動生成的,下面開始是我們自己定義的

# 要使用的 pipeline

item_pipelines =

feed_format =

'csv'

# 最後輸出的檔案格式

feed_uri =

# 最後輸出的檔名

# 為了避免對被爬**造成太大的壓力,我們啟動自動限速,設定最大併發數為 5

autothrottle_enabled =

true

autothrottle_target_concurrency =

5

一定要注意大小寫 和拼寫

比如txt 檔案格式,這樣就錯了

scrapy不支援這個格式,csv可以

Python高階爬蟲框架Scrapy簡介

scrapy 框架 scrapy是用純python實現乙個為了爬取 資料 提取結構性資料而編寫的應用框架,用途非常廣泛。框架的力量,使用者只需要定製開發幾個模組就可以輕鬆的實現乙個爬蟲,用來抓取網頁內容以及各種,非常之方便。scrapy架構圖 綠線是資料流向 95625f65089e4bc98a26...

python的高階爬蟲框架Scrapy

眾所周知,scrapy 是乙個高階的python爬蟲框架,功能極其強大,擁有它就可以快速編寫出乙個爬蟲專案,擁有它就可以搭建分布式架構。那麼,請問這麼強大的框架要怎麼擁有?很簡單,由於我只嘗試了windows平台下的安裝,所以下文也是該平台下的安裝步驟。windows的安裝是比較常見的,相對其他兩種...

scrapy爬蟲框架

作者經過幾周的python爬蟲實踐之後,深入學習了一下scrapy這個爬蟲框架,現將一些基本知識和 總結整理一下,以備後查。2.scrapy的命令列使用 這部分網上很多部落格都有總結,不需要背,理解會用主要的命令 startproject crawl fetch list genspider.即可,...