寫在前面java
自學爬蟲入門以後感受應該將本身的學習過程整理一下,也爲了留個記念吧。node
scrapy環境的配置還請自行百度,其實也不難(僅針對windows系統,centos配置了兩天,直到如今都沒整明白)python
就是安裝python以後下載pip,setup pip,而後用pip install下載就好了(pyspider也是這樣配置的)。json
附主要資料參考地址windows
scrapy教程地址 https://www.bilibili.com/video/av13663892?t=129&p=2centos
eclipse開發scrapy https://blog.csdn.net/ioiol/article/details/46745993框架
首先要確保主機配置了eclipse、python還有pip的環境dom
安裝scrapy框架的方法eclipse
進入cmd界面scrapy
::pip更新命令
pip install --upgrade pip
::pip安裝scrapy
pip intall scrapy
安裝完成以後就能夠使用了
cmd環境建立scrapy的demo程序
首先建立一個目錄,位置隨意,隨後進入目錄,輸入scrapy查看命令使用方式
startproject建立工程命令。格式scrapy startproject 工程名稱
genspider建立爬蟲命令,一個工程能夠有多個爬蟲。格式 scrapy genspider 爬蟲名(不能和工程重名)爬蟲初始ip地址值
目標是獲取tmooc首頁的側邊欄的內容(sub的子元素a的子元素span的文本內容)
tmooc首頁
側邊欄內容
編輯item.py,位置在spider目錄同級(代碼簡單,就不粘貼代碼了)
編輯test.py
代碼部分
# -*- coding: utf-8 -*-
import scrapy
# 須要導包,引入生成item的方法
from demo.items import DemoItem
class TestSpider(scrapy.Spider):
# 爬蟲名,運行時要用到
name = 'test'
# 限制域,超出範圍者不去處理,可省略
allowed_domains = ['http://www.tmooc.cn']
# 起始地址
start_urls = ['http://www.tmooc.cn/']
# 回調函數
def parse(self, response):
# 爬蟲的本質就是請求地址,解析響應內容,而後再次請求下一個地址的程序
# 因此爬蟲的主要部分就在於如何操做response對象
nodes=response.xpath("//li[@class='sub']")
for node in nodes:
#item由spider同級目錄下的items.py方法生成,是一個相似與字典(java map)的類型
item=DemoItem()
item['name']=node.xpath("./a/span/text()").extract()[0]
#yield相似於return,詳情百度。
yield item
編譯test.py,運行spider程序
crawl是運行spider的命令。格式scrapy crawl 爬蟲名 [-o 文件名]
-o參數可選,做用是將spider爬取的數據保存。保存在運行指令的目錄下,能夠保存成csv(excel表)json jsonl xml...等多種格式
結果展現
eclipse開發scrapyspider工程
首先要保證eclipse有python的開發環境
新建python工程,選項默認便可
建立好的目錄結構
進入本地的workspace,找到該工程目錄
將剛纔建立的scrapy工程目錄拷貝過來,不要一開始建立的那個文件夾
將demo目錄
拷貝到
工程目錄下。記得刪除上次運行的結果文件
run -> run configuretion ->
運行結果