摘要:如果安裝了,終端將使用替代標(biāo)準(zhǔn)終端。終端與其他相比更為強(qiáng)大,提供智能的自動補(bǔ)全,高亮輸出,及其他特性。也提供了一些快捷方式例如或同樣可以生效如之前的案例。當(dāng)然作用不僅僅如此,但是不屬于我們課程重點,不做詳細(xì)介紹。
Scrapy Shell
Scrapy終端是一個交互終端,我們可以在未啟動spider的情況下嘗試及調(diào)試代碼,也可以用來測試XPath或CSS表達(dá)式,查看他們的工作方式,方便我們爬取的網(wǎng)頁中提取的數(shù)據(jù)。
如果安裝了 IPython ,Scrapy終端將使用 IPython (替代標(biāo)準(zhǔn)Python終端)。 IPython 終端與其他相比更為強(qiáng)大,提供智能的自動補(bǔ)全,高亮輸出,及其他特性。(推薦安裝IPython)
啟動Scrapy Shell進(jìn)入項目的根目錄,執(zhí)行下列命令來啟動shell:
scrapy shell "http://www.itcast.cn/channel/teacher.shtml"
圖片描述
Scrapy Shell根據(jù)下載的頁面會自動創(chuàng)建一些方便使用的對象,例如 Response 對象,以及 Selector 對象 (對HTML及XML內(nèi)容)。
當(dāng)shell載入后,將得到一個包含response數(shù)據(jù)的本地 response 變量,輸入
response.body將輸出response的包體,輸出 response.headers 可以看到response的包頭。
輸入 response.selector 時, 將獲取到一個response 初始化的類 Selector 的對象,此時可以通過使用
response.selector.xpath()或response.selector.css() 來對 response 進(jìn)行查詢。
Scrapy也提供了一些快捷方式, 例如 response.xpath()或response.css()同樣可以生效(如之前的案例)。
Selectors選擇器Scrapy Selectors 內(nèi)置 XPath 和 CSS Selector 表達(dá)式機(jī)制
Selector有四個基本的方法,最常用的還是xpath:
xpath(): 傳入xpath表達(dá)式,返回該表達(dá)式所對應(yīng)的所有節(jié)點的selector list列表
extract(): 序列化該節(jié)點為Unicode字符串并返回list
css(): 傳入CSS表達(dá)式,返回該表達(dá)式所對應(yīng)的所有節(jié)點的selector list列表,語法同 BeautifulSoup4
re(): 根據(jù)傳入的正則表達(dá)式對數(shù)據(jù)進(jìn)行提取,返回Unicode字符串list列表
XPath表達(dá)式的例子及對應(yīng)的含義:/html/head/title: 選擇文檔中 標(biāo)簽內(nèi)的元素 /html/head/title/text(): 選擇上面提到的 元素的文字 //td: 選擇所有的 元素 //div[@class="mine"]: 選擇所有具有 class="mine" 屬性的 div 元素 嘗試Selector 我們用騰訊社招的網(wǎng)站http://hr.tencent.com/positio...舉例:
# 啟動 scrapy shell "http://hr.tencent.com/position.php?&start=0#a" # 返回 xpath選擇器對象列表 response.xpath("http://title") [u804cu4f4du641cu7d22 | u793eu4f1au62dbu8058 | Tencent u817eu8bafu62dbu8058] # 使用 extract()方法返回 Unicode字符串列表 response.xpath("http://title").extract() [u" u804cu4f4du641cu7d22 | u793eu4f1au62dbu8058 | Tencent u817eu8bafu62dbu8058 "] # 打印列表第一個元素,終端編碼格式顯示 print response.xpath("http://title").extract()[0]職位搜索 | 社會招聘 | Tencent 騰訊招聘 # 返回 xpath選擇器對象列表 response.xpath("http://title/text()")# 返回列表第一個元素的Unicode字符串 response.xpath("http://title/text()")[0].extract() u"u804cu4f4du641cu7d22 | u793eu4f1au62dbu8058 | Tencent u817eu8bafu62dbu8058" # 按終端編碼格式顯示 print response.xpath("http://title/text()")[0].extract() 職位搜索 | 社會招聘 | Tencent 騰訊招聘 response.xpath("http://*[@class="even"]") 職位名稱: print site[0].xpath("./td[1]/a/text()").extract()[0] TEG15-運(yùn)營開發(fā)工程師(深圳) 職位名稱詳情頁: print site[0].xpath("./td[1]/a/@href").extract()[0] position_detail.php?id=20744&keywords=&tid=0&lid=0 職位類別: print site[0].xpath("./td[2]/text()").extract()[0] 技術(shù)類 以后做數(shù)據(jù)提取的時候,可以把現(xiàn)在Scrapy Shell中測試,測試通過后再應(yīng)用到代碼中。
當(dāng)然Scrapy Shell作用不僅僅如此,但是不屬于我們課程重點,不做詳細(xì)介紹。
官方文檔:[http://scrapy-chs.readthedocs...
Spider][3]文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41383.html
相關(guān)文章
scrapy入門教程3:scrapy的shell命令
摘要:用例運(yùn)行爬蟲命令基本語法是否需要項目存在當(dāng)然是不需要咯貌似這個命令是不依托一個項目而直接運(yùn)行一個爬蟲的命令。用例我終于寫完了,喜歡的就收藏推薦一下吧,這樣我就會更有動力寫新的教程了,哇哈哈 0. 基本環(huán)境說明 本文截圖及運(yùn)行環(huán)境均在Win8上實現(xiàn)(是的,我放假回家了,家里的機(jī)器是win8的沒有辦法),但基本步驟與win 7環(huán)境基本相同。(應(yīng)該把~)ps:我后來換了臺win7的電腦,所...
scrapy入門教程——爬取豆瓣電影Top250!
摘要:注意爬豆爬一定要加入選項,因為只要解析到網(wǎng)站的有,就會自動進(jìn)行過濾處理,把處理結(jié)果分配到相應(yīng)的類別,但偏偏豆瓣里面的為空不需要分配,所以一定要關(guān)掉這個選項。 本課只針對python3環(huán)境下的Scrapy版本(即scrapy1.3+) 選取什么網(wǎng)站來爬取呢? 對于歪果人,上手練scrapy爬蟲的網(wǎng)站一般是官方練手網(wǎng)站 http://quotes.toscrape.com 我們中國人,當(dāng)然...
scrapy提升篇之配置
摘要:提升篇之配置增加并發(fā)并發(fā)是指同時處理的的數(shù)量。其有全局限制和局部每個網(wǎng)站的限制。使用級別來報告這些信息。在進(jìn)行通用爬取時并不需要,搜索引擎則忽略。禁止能減少使用率及爬蟲在內(nèi)存中記錄的蹤跡,提高性能。 scrapy提升篇之配置 增加并發(fā) 并發(fā)是指同時處理的request的數(shù)量。其有全局限制和局部(每個網(wǎng)站)的限制。Scrapy默認(rèn)的全局并發(fā)限制對同時爬取大量網(wǎng)站的情況并不適用,因此您需要...
10、web爬蟲講解2—Scrapy框架爬蟲—Scrapy安裝—Scrapy指令
摘要:負(fù)責(zé)處理被提取出來的。典型的處理有清理驗證及持久化例如存取到數(shù)據(jù)庫知識庫項目的設(shè)置文件實現(xiàn)自定義爬蟲的目錄中間件是在引擎及之間的特定鉤子,處理的輸入和輸出及。 【百度云搜索:http://www.bdyss.com】 【搜網(wǎng)盤:http://www.swpan.cn】 Scrapy框架安裝 1、首先,終端執(zhí)行命令升級pip: python -m pip install --upgrad...
Scrapy基本用法
安裝scrapy 不同操作系統(tǒng)安裝操作不同,可以直接看官方文檔Install Scrapy 創(chuàng)建一個項目 在命令行輸入 scrapy startproject tutorial 進(jìn)入項目目錄創(chuàng)建一個spider cd tutorial scrapy genspider quotes domain.com import scrapy class QuotesSpider(scrapy.Spider...
發(fā)表評論
0條評論
HmyBmny
男|高級講師
TA的文章
閱讀更多
tensorflow搭建卷積神經(jīng)網(wǎng)絡(luò)
閱讀 680·2023-04-25 18:59
虛擬主機(jī)可以做什么-虛擬主機(jī)是什么概念?
閱讀 1220·2021-09-22 16:00
如何遠(yuǎn)程云主機(jī)ip-云主機(jī)怎么遠(yuǎn)程操作?
閱讀 1892·2021-09-22 15:42
什么叫云主機(jī)-云主機(jī)是什么?
閱讀 3599·2021-09-22 15:27
css--下拉菜單
閱讀 1253·2019-08-30 15:54
2019年7月所遇知識點整理
閱讀 1109·2019-08-30 11:16
關(guān)于sass、scss、less的概念性知識匯總
閱讀 2454·2019-08-29 16:24
orderBy排序與篩選的例子
閱讀 830·2019-08-29 12:14
<閱讀需要支付1元查看