亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在保存到磁盤之前更改 Scrapy 抓取的網頁的一部分?

如何在保存到磁盤之前更改 Scrapy 抓取的網頁的一部分?

猛跑小豬 2023-10-31 14:35:10
在parse()Scrapy Spider的方法中,我們可以使用css()on方法response來抓取需要的信息。例如,我們可以使用response.css("#container")來獲取以下 HTML 片段。<div id="container">    <div class="sep">test</div>    ...</div>在保存到磁盤之前,我們如何更改部分 HTML 代碼片段?例如,我想更改<div class="sep">to的文本內容1234,以便最終需要的 HTML 片段看起來像<div id="container">    <div class="sep">1234</div>    ...</div>我知道我可以將原始 HTML 片段保存在磁盤上,然后使用 HTML 解析器來更改它。然而,這實際上會再次解析它,因為它已經在Scrapy 蜘蛛中的方法response的參數中被解析了。parse()我查看了Scrapy文檔,只能找到從頁面獲取信息的方法。如何進行集合運算?
查看完整描述

1 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

Scrapy專門針對提取信息;因此,它不提供任何修改 HTML 的功能。

但是,沒有什么可以阻止您導入您最喜歡的解析器并使用它。
或者,root選擇器的屬性將使您能夠訪問底層 lxml 元素。我相當確定您必須使用 lxml 轉儲根元素。

Scrapy 僅在您訪問后才解析源response.selector(直接或通過其中一種提取方法)。
如果你想避免解析兩次,就不要使用它們。


查看完整回答
反對 回復 2023-10-31
  • 1 回答
  • 0 關注
  • 156 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號