scrapy 我的第乙個scrapy爬蟲

2021-10-20 22:41:21 字數 2200 閱讀 7162

import scrapy

from scrapy.linkextractors import linkextractor #linkextractor是用來指定頁面提取規則的extract_links()是用來獲取連線的

from

..items import baiduyueduitem #這是我的用來封裝資料的items.py檔案中的自定義類的名字。

#..代表此檔案和spider檔案在同一資料夾中

# 爬蟲名字

start_urls =

['']# 爬蟲開始爬取的頁面

defparse

(self, response)

:#此函式負責解析從1到n個介面,然後呼叫parse_books()方法來解析每本書籍的具體資訊,並資料用預先定義好的 baiduyueduitem來組織管理資料(也就是我們在最終的儲存檔案中看到的資料儲存格式)

le = linkextractor(restrict_css=

'a.al.title-link'

)# 描述提取guize

for link in le.extract_links(response)

:# 在response中按照le規則來提取資料

yield scrapy.request(link.url, callback=self.parse_book)

# 傳送請求,並解析其中的資料

url = response.css(

'div.pager a.next::attr(href)'

).extract_first(

)if url:

url = response.urljoin(url)

yield scrapy.request(url, callback=self.parse)

# 開始定義每一本書的頁面解析函式

)# 例項化欄位儲存物件

sel = response.css(

'div.content-block'

)# 獲取指定區域的較大範圍的定位

item[

'name'

]= sel.css(

'h1.book-title::attr(title)'

).extract_first(

)# 把列表中的第乙個元素寫入到name段

item[

'rating'

]= sel.css(

'div.doc-info-score span.doc-info-score-value::text'

).extract_first(

) item[

'authors'

]= sel.css(

'ul li.doc-info-author a::text'

).extract_first(

)yield item # 把item列表中的各個項交給引擎,引擎在根據item組織資料

在items.py中的**為

第乙個scrapy爬蟲

我們要爬取的是讀書網裡面的書名,作者,和對書的描寫 首先我們要定義爬取資料的模型,在items.py檔案中 import scrapy class moveitem scrapy.item 定義爬取的資料的模型 title scrapy.field auth scrapy.field desc sc...

Scrapy系列一 第乙個Scrapy專案

命令列切換到對應的資料夾下 執行命令scrapy startproject qidian hot qidian hot是指專案名 執行完成後資料夾下會建立名為qidian hot的資料夾 注意開啟的目錄,別開啟了下一級的qidian hot目錄 這三個div對應內容裡的具體資訊 spiders資料夾...

我的第乙個程式

我的第乙個vc程式終於寫完了,花了2周,之前從沒有用vc寫過程式,也沒讀過什麼程式,只是在看書,看了幾百頁 mfc windows程式設計 正好有個機會,老師讓寫個vc程式,就試著寫了。程式的功能是不同地方的access的更新的記錄整合到一台機子上的access中,支援斷網自動連線,用的是socke...