爬蟲學習 scrapy相關的知識

2021-08-03 14:24:08 字數 1385 閱讀 4116

scrapy 是開源的爬蟲框架,快速強大,只需要寫少量的**即可完成爬取任務,容易擴充套件,新增新的功能模組

1. scrapy 在mac上的安裝

可以使用pip安裝scrapy

執行命令 sudo pip install scrapy(不帶sudo 可能會出現 permission denied)

然後 使用scrapy –version來驗證是否安裝成功

2. scrapy的使用步驟

建立工程

scrapy startprohect project-name

上面的命令會自動生成project-name的專案,並且生成部分相應的檔案

scrapy genspider project_name_spider

上面的命令會自動生成乙個標準的spider的模版,後面的**一定要加上,之後就可以修改相應的檔案編寫相應的item,就可以了,

定義item,構造爬取的物件

定義item的時候使用scrapy.field()來定義item

編寫spider,爬蟲主體

編寫配置和pipeline,用於處理爬取的結果

執行爬蟲、

scrapy crawl project_name_spider 用於執行該爬蟲

在編寫pipeline的時候,主要是用於處理爬取的結果,可以儲存在相應的檔案中,而且格式比較固定,下面給乙個將結果儲存在csv的檔案中的列子。

class

projectitemcsvpipeline

(object):

defopen_spider

(self, spider):

self.file = open('project_record.csv', 'wb')

self.exporter = csvitemexporter(self.file)

self.exporter.start_exporting()

defclose_spider

(self, spider):

self.exporter.finish_exporting()

self.file.close()

defprocess_item

(self, item, spider):

self.exporter.export_item(item)

return item

在寫完spinder的主題之後需要修改一下,setting.py檔案中的內容將下面這一行的注釋去掉

item_pipelines =
在除錯的時候可以使用scrapy shell url 來進入shell介面除錯,並且測試其中的**是否正確

scrapy爬蟲的相關技術

1.xpath選擇器從當前節點往下搜尋 nodename 選取此節點的所有子節點。從根節點擊取。從匹配選擇的當前節點擊擇文件中的節點,而不考慮它們的位置。選取當前節點。選取當前節點的父節點。選取屬性。以上是w3school上的xpath語法介紹,下面有個問題,div list response.xp...

爬蟲scrapy學習

1 建立乙個scrapy專案 2 定義提取的item容器 3 編寫spider爬蟲,並提取item 4 編寫item pipeline 儲存提取到的item 二 具體思維導 釋 參考自 各部分元件 scrapy執行流程如下 我覺得這個解釋的比較清晰。1.引擎從排程器取出乙個url鏈結,用於抓取。4....

scrapy爬蟲學習

因畢設需要做資料集,學習爬蟲。相關 1.目前遇到問題,中文description無法返回。0 print response.body 解釋 xpath是從網頁返回內容裡邊去提取的,網頁返回的content和瀏覽器的element可能會有差異1 查詢是不是pipelines.py出問題。defproc...