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...