日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php spider shell,ScrapyShell使用

發布時間:2023/12/1 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php spider shell,ScrapyShell使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Scrapy Shell

Scrapy終端是一個交互終端,我們可以在未啟動spider的情況下嘗試及調試代碼,也可以用來測試XPath或CSS表達式,查看他們的工作方式,方便我們爬取的網頁中提取的數據。

如果安裝了 IPython ,Scrapy終端將使用 IPython (替代標準Python終端)。 IPython 終端與其他相比更為強大,提供智能的自動補全,高亮輸出,及其他特性。(推薦安裝IPython)

Scrapy Shell根據下載的頁面會自動創建一些方便使用的對象,例如 Response 對象,以及 Selector 對象 (對HTML及XML內容)。

當shell載入后,將得到一個包含response數據的本地 response 變量,輸入 response.body將輸出response的包體,輸出 response.headers 可以看到response的包頭。

輸入 response.selector 時, 將獲取到一個response 初始化的類 Selector 的對象,此時可以通過使用 response.selector.xpath()或response.selector.css() 來對 response 進行查詢。

Scrapy也提供了一些快捷方式, 例如 response.xpath()或response.css()同樣可以生效。

Selectors選擇器

Scrapy Selectors 內置 XPath 和 CSS Selector 表達式機制。

Selector有四個基本的方法,最常用的還是xpath:

xpath(): 傳入xpath表達式,返回該表達式所對應的所有節點的selector list列表

extract(): 序列化該節點為Unicode字符串并返回list

css(): 傳入CSS表達式,返回該表達式所對應的所有節點的selector list列表,語法同 BeautifulSoup4

re(): 根據傳入的正則表達式對數據進行提取,返回Unicode字符串list列表

使用案例:

# 啟動

scrapy shell "http://hr.tencent.com/position.php?&start=0#a"

![Uploading scrapyshell1_605828.png . . .]

# 返回 xpath選擇器對象列表

response.xpath('//title')

[\u804c\u4f4d\u641c\u7d22 | \u793e\u4f1a\u62db\u8058 | Tencent \u817e\u8baf\u62db\u8058]

# 使用 extract()方法返回 Unicode字符串列表

response.xpath('//title').extract()

[u'

\u804c\u4f4d\u641c\u7d22 | \u793e\u4f1a\u62db\u8058 | Tencent \u817e\u8baf\u62db\u8058']

# 打印列表第一個元素,終端編碼格式顯示

print response.xpath('//title').extract()[0]

職位搜索 | 社會招聘 | Tencent 騰訊招聘

# 返回 xpath選擇器對象列表

response.xpath('//title/text()')

# 返回列表第一個元素的Unicode字符串

response.xpath('//title/text()')[0].extract()

u'\u804c\u4f4d\u641c\u7d22 | \u793e\u4f1a\u62db\u8058 | Tencent \u817e\u8baf\u62db\u8058'

# 按終端編碼格式顯示

print response.xpath('//title/text()')[0].extract()

職位搜索 | 社會招聘 | Tencent 騰訊招聘

response.xpath('//*[@class="even"]')

職位名稱:

print site[0].xpath('./td[1]/a/text()').extract()[0]

TEG15-運營開發工程師(深圳)

職位名稱詳情頁:

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]

技術類

總結

以上是生活随笔為你收集整理的php spider shell,ScrapyShell使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。