-
pip 換源
國外的源實在是太慢了在終端進入目錄:cd~/.pip (如果沒有.pip 文件夾,那么就要自己創建)
編輯 pip.conf 文件 (同上)寫入阿里云鏡像
[global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com
或者寫入豆瓣鏡像
[global] index-url = http://pypi.douban.com/simple [install] trusted-host=pypi.douban.com
-
pip 安裝 scrapy
pip install scrapy
-
spider 模板
import scrapy class Spider(scrapy.spider.Spider): name = "spider" #唯一標識,啟動spider時即指定該名稱 allowed_domains = ["www.baidu.com"] start_urls = [ "http://www.baidu.com ] def parse(self, response): with open(filename, 'wb') as f: f.write(response.body)
-
spider 啟動
scrapy crawl spider
-
xPath 語法
選取節點
表達式 描述 node 選取此節點的所有子節點 / 從根節點選取 // 從匹配選擇的當前節點選擇文檔中的節點,而不考慮他們的位置 . 選取當前節點 .. 選擇當前節點的父節點 @ 選取屬性
謂語
表達式 描述 /node/td[1] 選取 node 下面的第一個 td 元素 /node/td[last()] 選取 node 下面的最后一個 td 元素 /node/td[last()-1] 選取 node 下面的倒數第二個 td 元素 /node/td[position()<3] 選取 node 下面的前兩個 td 元素 //node[@attr] 選取所有擁有名為 attr 的屬性的 node 元素 //node[@attr='value'] 選取所有擁有名為 attr 且值為 value 的屬性的 node 元素 /node/td[size>10] 選取 node 下面所有 size 屬性值大于10的 td 元素 /node/td[size>10]/span 選取 node 下面所有 size 屬性值大于10的 td 元素下面的 span 元素
未知節點
表達式 描述 * 匹配任何元素節點 @* 匹配任何屬性節點 node() 匹配任何類型節點