scrapy
[toc]
開始首先手動安裝windows版本的twisted
pip install twisted-18.4.0-cp36-cp36m-win_amd64.whl
安裝scrapy
pip install -i scrapy
windows系統額外需要安裝pypiwin32
pip install -i pypiwin32
開始乙個專案
e:\svnproject>scrapy startproject testspider
生成乙個新的爬蟲(generate)
e:\svnproject>cd testspidere:\svnproject\testspider>scrapy genspider dongfeng www.dongfe.com
啟動乙個爬蟲
e:\svnproject\testspider>scrapy crawl dongfeng
>scrapy shell # 命令列除錯該網頁
e:\svnproject\testspider\testspider>vim settings.py robotstxt_obey =false# 不要遵循**robots檔案
xpath
表示式說明
/body
選出當前選擇器的根元素body
/body/div
選取當前選擇器文件的根元素body的所有div子元素
/body/div[1]
選取body根元素下面第乙個div子元素
/body/div[last()]
選取body根元素下面最後乙個div子元素
/body/div[last()-1]
選取body根元素下面倒數第二個div子元素
//div
選取所有div子元素(不論出現在文件任何地方)
body//div
選取所有屬於body元素的後代的div元素(不論出現在body下的任何地方)
/body/@id
選取當前選擇器文件的根元素body的id屬性
//@class
選取所有元素的class屬性
//div[@class]
選取所有擁有class屬性的div元素
//div[@class='bold']
選取所有class屬性等於bold的div元素
//div[contains(@class,'bold')]
選取所有class屬性包含bold的div元素
/div/*
選取當前文件根元素div的所有子元素
//*選取文件所有節點
//div[@*]
獲取所有帶屬性的div元素
//div/a | //div/p
選取所有div元素下面的子元素a和子元素p(並集)
//p[@id='content']/text()
選取id為content的p標籤的內容(子元素的標籤和內容都不會獲取到)
> 注意: xpath在選擇時,參考的是html原始碼,而不是js載入後的html**
title_selector =response.xpath("//div[@class='entry-header']/h1/text()")title_str =title_selector.extract()[0]
css選擇器
表示式說明
*選擇所有節點
#container
選擇id為container的節點
.container
選取所有包含container類的節點
li a
選取所有li下的所有後代a元素(子和孫等所有的都會選中)
ul + p
選取ul後面的第乙個相鄰兄弟p元素
div#container > ul
選取id為container的div的所有ul子元素
ul ~ p
選取與ul元素後面的所有兄弟p元素
a[title]
選取所有有title屬性的a元素
a[href='']
選取所有href屬性等於的a元素
a[href*='taobao']
選取所有href屬性包含taobao的a元素
選取所有href屬性開頭為http的a元素
a[href$='.com']
選取所有href屬性結尾為.com的a元素
input[type=radio]:checked
選取選中的radio的input元素
div:not(#container)
選取所有id非container的div元素
li:nth-child(3)
選取第三個li元素
tr:nth-child(2n)
選取偶數字的tr元素
a::attr(href)
獲取所有a元素的href屬性值
h1_selector =response.css(".container h1::text")# 選取h1標題的內容h1_str =h1_selector.extract_first()# 取出陣列第乙個,如果沒有為空
爬蟲
Python爬蟲框架
一 u know!二 scrapy入門教程 三 網路爬蟲之scrapy框架詳解 四 scrapy編寫步驟 詳情見二 scrapy入門教程 1 mkdir乙個爬蟲資料夾 例 mkdir home zy pachong pa test 10 28 2 在 home zy pachong pa test ...
Python爬蟲 scrapy框架
開源的,對平台的爬蟲框架 舊版本 需要預先定義所需欄位 class myitem scrapy.item url scrapy.field 再將所需欄位填充 class myspier scrapy.spider defparse self,response return sudo apt inst...
python爬蟲scrapy框架
安裝 pip install scrapy startproject 建立乙個新專案 genspider 根據模板生成乙個新爬蟲 crawl 執行爬蟲 shell 啟動互動式抓取控制台 進入專案目錄 scrapy startproject crawlertest project name cd cr...