用Scrapy抓取豆瓣小組資料(一)
最近在coursera.org(線上學習平臺)上學SNA(Social Network Analysis,社交網路分析)。有興趣的同學可以去看一眼:https://class.coursera.org/sna-002/,課程講的很有意思,等回頭我上完全部課程打算再寫下詳細總結和思考。
為什麼要抓取豆瓣小組資料?
課程要做一個帶程式設計的final project,大概內容就是自己找一個網路資料集,然後按照課程中提供的方法進行分析。其實最難的部分是找資料,兩種方法:自己抓,或者是找現成的。對於後者,國內有個叫資料堂的資料分享網站做的不錯,上面有豆瓣,淘寶,微博等各種資料,不過有些資料需要收費;國外有個叫
看了一圈現成的資料都不太滿意,決定自己抓取了。目標鎖定豆瓣小組,打算分析小組之間的互相聯絡。
如何用Scrapy抓取網頁?
1,先建立一個scrapy專案,專案名稱doubanscrapy startproject douban
1 |
scrapy
startproject douban |
會生成一個專案目錄,內部結構大概如下:
01 |
douban/ |
02 |
scrapy.cfg
==> project的配置檔案,一般不用改 |
03 |
douban/ |
04 |
__init__.py |
05 |
items.py
==> 定義抓取的資料結構 |
06 |
pipelines.py |
07 |
settings.py
==》 專案的具體配置,需要更改 |
08 |
spiders/
==》 這個是定義蜘蛛機器人的目錄 |
09 |
__init__.py |
10 |
... |
定義完DoubanItem後,你就可以在實現蜘蛛機器人的程式碼裡返回DoubanItem的例項,Scrapy會自動序列化並匯出到JSON/XML等。
01 |
from scrapy.item import Item,
Field |
02 |
03 |
class DoubanItem(Item): |