Python爬蟲 Scrapy選擇器用法

2021-10-24 05:47:34 字數 3477 閱讀 5554

目錄

scrapy選擇器用法 查詢

迭代查詢

正規表示式篩選

例子:爬取b站排行榜

1.獲取標題

2.查詢頁面內所有的鏈結

官方測試頁面:

html**:

name: my image 1 

name: my image 2

name: my image 3

name: my image 4

name: my image 5

命令提示符中:

scrapy shell
selector:scrapy中內建的乙個選擇器類,用這個類可以做資料的提取

response.selector
輸出:\n \n  

eg:使用xpath選擇器獲取title的內容,返回的是乙個list

response.selector.xpath('//title/text()')
輸出: 

response.selector.xpath('//title/text()').extract_first()
輸出:'example website'

eg2:使用css選擇器

response.selector.css('title::text').extract_first()
輸出:'example website' 

response.xpath('//div[@id="images"]').css('img')
輸出:[,,,,]

response.xpath('//div[@id="images"]').css('img::attr(src)').extract()
輸出:

extract_frist():獲取第一條內容extract():獲取文字內容

eg2:獲取頁面中所有的超連結

xpath選擇器:

response.xpath('//a/@href').extract()
css選擇器:

response.css('a::attr(href)').extract()
輸出:['image1.html', 'image2.html', 'image3.html', 'image4.html', 'image5.html']

第乙個引數為屬性名,第二個引數為屬性的值

xpath選擇器:

response.xpath('//a[contains(@href,"image")]/@href').extract()
css選擇器:

response.css('a[href*=image]::attr(href)').extract()
輸出:

['image1.html', 'image2.html', 'image3.html', 'image4.html', 'image5.html']

eg4:選擇所有a標籤裡面的image的src屬性

xpath選擇器:

response.xpath('//a[contains(@href,"image")]/img/@src').extract()
css選擇器:

response.css('a[href*=image] img::attr(src)').extract()
輸出:

只選取冒號之後的內容:

response.css('a::text').re('name\:(.*)')
[' my image 1 ',

' my image 2 ',

' my image 3 ',

' my image 4 ',

' my image 5 ']

進入環境

scrapy shell
xpath選擇器

response.selector.xpath('//title/text()').extract_first()
css選擇器

response.selector.css('title::text').extract_first()
xpath選擇器:

response.xpath('//div[@class="info"]/a/@href').extract()
css選擇器:

response.css('.title::attr(href)').extract()
xpath選擇器:

response.xpath('//div[@class="info"]/a/text()').extract()
css選擇器:

response.css('.info a[href]::text').extract()

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...

Python爬蟲 Scrapy基礎

依照順序安裝如下依賴庫,如下 wheel pip install wheel lxml pyopenssl twisted pywin32 220 scrapy pip install scrapy 安裝成功後,通過在cmd的指定路徑下輸入 scrapy startproject hello可以在當...